/**
 * Application.css
 * Defaults for common elements. Loaded LAST, after the sheets it used to
 * @import, so its rules still win.
 *
 * The @imports were removed because an imported URL carries no cache-busting
 * parameter: editing layout.css left every returning visitor on the old copy,
 * and nginx sets `expires 3d` on css in production, so a fix could stay
 * invisible for three days. The layouts now link each sheet through
 * stylesheet_link_tag, which appends the file's mtime.
 *
 * Keep the order in app/views/layouts/*.rhtml in step with the old import
 * order above: layout, sidebar, ajax, nbox, form, table, mint, misc, editor,
 * client, then this file.
 */

body { 
  background: #D1D2D4; /*-url("../images/texture.jpg") fixed repeat top left; */
  font: normal 12px "lucida grande", verdana, arial, helvetica, sans-serif;
  margin: 0; padding: 0 1em 1em 1em; 
}

/* Development wears the loud background so a dev server is never mistaken for
   production at a glance. The class comes from RAILS_ENV on <body>; every other
   environment, production included, keeps the #D1D2D4 grey that body had before
   someone typed #D100D4 over it -- the same grey layout_container uses. */
body.env-development { background: #D100D4; }

input,
textarea { font: normal 12px "bitstream vera sans", verdana, sans-serif; }

abbr { border: none; }
cite { font-style: normal; }

a img { border: none; padding: 0; margin: 0; }

a:link, a:visited {  
	color: #1975D7;
	text-decoration: none;
	}
a:hover, a:active { 
	color: #50ADEA;
	text-decoration: underline;
	}


/* ---------------------------------------------------------------------------
   Shared modern chrome for the admin and client list and detail pages.
   Opt in with .tc-list or .tc-detail on a wrapper; nothing here applies to a
   page that has not asked for it, so the older views are untouched.
   --------------------------------------------------------------------------- */

.tc-bar { margin: 0 0 12px 0; overflow: hidden; }
.tc-bar .tc-count {
  display: inline-block; padding: 3px 10px; border-radius: 11px;
  background: #eaeef2; border: 1px solid #d7dde3; color: #414b55;
  font-size: 12px; font-weight: 600;
}
.tc-bar .tc-actions { float: right; }
a.tc-btn {
  display: inline-block; padding: 5px 14px; margin-left: 6px; border-radius: 5px;
  background: #1975D7; border: 1px solid #1668bd; color: #fff;
  font-weight: 600; text-decoration: none; font-size: 12px;
}
a.tc-btn:hover, a.tc-btn:link, a.tc-btn:visited { color: #fff; text-decoration: none; }
a.tc-btn:hover { background: #1668bd; }
a.tc-btn.quiet {
  background: #fbfcfd; border-color: #d7dde3; color: #57606a;
}
a.tc-btn.quiet:hover { border-color: #1975D7; color: #1975D7; background: #fff; }
a.tc-btn.quiet:link, a.tc-btn.quiet:visited { color: #57606a; }

/* ------------------------------------------------------------------ lists */
.tc-list { font-size: 13px; color: #24292f; }
.tc-list .tc-wrap {
  border: 1px solid #c4ccd4; border-radius: 6px; overflow: hidden; clear: both;
}
.tc-list table.object_list { border: none; margin: 0; font-size: 13px; width: 100%; }
.tc-list table.object_list thead th {
  text-align: left; padding: 9px 10px; white-space: nowrap;
  background: #eaeef2; color: #414b55;
  font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
  border-right: none; border-bottom: 1px solid #c4ccd4;
}
.tc-list table.object_list tbody td {
  padding: 8px 10px; vertical-align: top;
  border-right: none; border-bottom: 1px solid #e3e8ec;
  font-variant-numeric: tabular-nums;
  /* Rows carry a status colour as an inline bgcolor (see
     partials/object_list/_colorize_paper). Translucent white keeps the hue,
     which is how these lists are read at a glance, and drops the saturation.
     Hover lifts the veil. */
  background-color: rgba(255, 255, 255, 0.62);
}
.tc-list table.object_list tbody tr:hover td { background-color: rgba(255, 255, 255, 0.30); }
.tc-list table.object_list tbody tr:last-child td { border-bottom: none; }
.tc-list table.object_list tbody td a { color: #1149a3; }
/* The action column mixes single and double <br>s between links; stacking them
   gives every row one rhythm. Last column only -- other columns use <nobr> too
   and must stay inline. */
.tc-list table.object_list tbody td:last-child nobr br { display: none; }
.tc-list table.object_list tbody td:last-child nobr a {
  display: block; margin: 1px 0; white-space: nowrap;
}
/* The partial emits its pager inside the panel, and an empty div when there is
   only one page, so the chrome goes on .pagination, which only exists then. */
.tc-list .tc-wrap .pagination {
  padding: 8px 10px; background: #fbfcfd;
  border-bottom: 1px solid #d7dde3; text-align: center; font-size: 12px;
}
.tc-list .tc-wrap .pagination a,
.tc-list .tc-wrap .pagination span {
  display: inline-block; padding: 3px 9px; margin: 0 2px;
  border: 1px solid transparent; border-radius: 4px; text-decoration: none;
}
.tc-list .tc-wrap .pagination a { color: #1149a3; border-color: #d7dde3; background: #fff; }
.tc-list .tc-wrap .pagination a:hover { border-color: #1975D7; color: #1975D7; text-decoration: none; }
.tc-list .tc-wrap .pagination span.current {
  background: #1975D7; border-color: #1975D7; color: #fff; font-weight: 600;
}
.tc-list .tc-wrap .pagination span.disabled { color: #b7bec6; }

/* ---------------------------------------------------------------- details */
.tc-detail { font-size: 13px; color: #24292f; }
.tc-detail .tc-wrap {
  border: 1px solid #c4ccd4; border-radius: 6px; overflow: hidden; margin-bottom: 14px;
}
.tc-detail table.object_details,
.tc-detail table.tc-fields {
  border: none; width: 100%; border-collapse: collapse; font-size: 13px; margin: 0;
}
/* Section headings inside a details table. The old markup uses tr.title, and
   some pages set bgcolor on the th directly; both land here. */
.tc-detail table tr.title th,
.tc-detail table tr.title td,
.tc-detail table th[bgcolor] {
  background: #dfe5ea !important; color: #37414b;
  text-align: left; padding: 9px 12px; font-weight: 600; font-size: 13px;
  border-bottom: 1px solid #c4ccd4; border-top: 1px solid #c4ccd4;
}
.tc-detail table tr.title th a, .tc-detail table th[bgcolor] a {
  font-weight: normal; font-size: 12px;
}
.tc-detail table td.details_key {
  background: #e8edf3; color: #414b55; font-weight: 600;
  border-right: 1px solid #dbe1e8;
  width: 240px; padding: 8px 12px; border-bottom: 1px solid #e3e8ec;
  vertical-align: top;
}
.tc-detail table td.details_value {
  background: #fff; padding: 8px 12px; border-bottom: 1px solid #e3e8ec;
  vertical-align: top;
}
.tc-detail table tr:last-child td { border-bottom: none; }
.tc-detail table td.details_value input[type=text] {
  padding: 4px 7px; border: 1px solid #c4ccd4; border-radius: 4px;
  font-size: 13px; max-width: 100%;
}
.tc-detail table td.details_value select {
  padding: 4px 6px; border: 1px solid #c4ccd4; border-radius: 4px; font-size: 13px;
}
.tc-detail table td.details_value li { margin-left: 16px; }
.tc-detail .tc-save { margin: 12px 0; }

.tc-detail .tc-stack a.tc-btn {
  display: block; margin: 0 0 8px 0; text-align: center;
}

/* A short explanatory passage above a table or form. */
.tc-note {
  font-size: 13px; color: #414b55; line-height: 1.5;
  background: #f6f8fa; border: 1px solid #e0e5ea; border-radius: 6px;
  padding: 10px 14px; margin: 0 0 12px 0;
}
.tc-note b { color: #24292f; }
/* The uninvoiced-papers table submits itself, so its Next button sits inside
   the bordered panel; give it room rather than letting it touch the last row. */
.tc-list .tc-wrap table.object_list tbody tr td[colspan] { padding: 12px 10px; }
.tc-list .tc-wrap input[type=submit] {
  padding: 6px 16px; border-radius: 5px; border: 1px solid #1668bd;
  background: #1975D7; color: #fff; font-weight: 600; font-size: 13px; cursor: pointer;
}

/* ------------------------------------------------------- small form pages */
.tc-form { font-size: 13px; color: #24292f; max-width: 760px; line-height: 1.5; }
.tc-form .tc-lead { margin: 0 0 16px 0; }
.tc-form .tc-choice {
  border: 1px solid #c4ccd4; border-radius: 6px; padding: 14px 16px; margin: 0 0 12px 0;
  background: #fbfcfd;
}
.tc-form .tc-choice.quiet { background: #fff; }
.tc-form .tc-choice p { margin: 0 0 10px 0; color: #57606a; }
.tc-form .tc-choice form { display: inline; }
input.tc-submit {
  padding: 7px 20px; border-radius: 5px; border: 1px solid #1668bd;
  background: #1975D7; color: #fff; font-weight: 600; font-size: 13px; cursor: pointer;
}
input.tc-submit:hover { background: #1668bd; }
input.tc-submit.secondary {
  background: #fbfcfd; border-color: #d7dde3; color: #57606a;
}
input.tc-submit.secondary:hover { background: #fff; border-color: #b42318; color: #b42318; }

/* Progress strip on the multi-step submission. */
.tc-steps { margin: 0 0 12px 0; font-size: 13px; }
.tc-steps .tc-step {
  display: inline-block; padding: 5px 12px; margin: 0 6px 6px 0;
  border: 1px solid #d7dde3; border-radius: 14px;
  background: #fbfcfd; color: #8b949e;
}
.tc-steps .tc-step b {
  display: inline-block; width: 18px; height: 18px; line-height: 18px;
  border-radius: 50%; background: #e0e5ea; color: #57606a;
  text-align: center; font-size: 11px; margin-right: 6px;
}
.tc-steps .tc-step.done { color: #1a7f37; border-color: #b7e0c4; background: #f2faf5; }
.tc-steps .tc-step.done b { background: #1a7f37; color: #fff; }
.tc-steps .tc-step.now { color: #1149a3; border-color: #1975D7; background: #fff; font-weight: 600; }
.tc-steps .tc-step.now b { background: #1975D7; color: #fff; }

/* Submit buttons inside a detail-styled form. */
.tc-detail input[type=submit], .tc-form input[type=submit] {
  padding: 6px 18px; border-radius: 5px; border: 1px solid #1668bd;
  background: #1975D7; color: #fff; font-weight: 600; font-size: 13px; cursor: pointer;
}
.tc-detail input[type=submit]:hover, .tc-form input[type=submit]:hover { background: #1668bd; }
.tc-detail table td.details_value textarea,
.tc-detail table td textarea, .tc-detail table td input[type=text] {
  padding: 4px 7px; border: 1px solid #c4ccd4; border-radius: 4px; font-size: 13px;
}
/* Some step rows set their own bgcolor for a footnote; keep it quiet. */
.tc-detail table td[bgcolor] { background: #f6f8fa !important; color: #57606a; }

/* A stacked set of radio or checkbox choices. */
.tc-options label { display: block; margin: 0 0 8px 0; cursor: pointer; }
.tc-options label:last-child { margin-bottom: 0; }
.tc-options input { margin-right: 6px; }
/* A long list of checkboxes, e.g. the fields on a submission. */
table.tc-checklist td.check { width: 34px; text-align: center; padding: 7px 0 7px 10px;
  border-bottom: 1px solid #e3e8ec; background: #fff; }
table.tc-checklist td.details_value label { display: block; cursor: pointer; }
table.tc-checklist tr:hover td { background: #f6f9fc; }

/* ------------------------------------------------------------- components
   The pieces below were duplicated inline across the PowerTranz and paper-list
   views. They live here so the pages share one appearance.
   --------------------------------------------------------------------------- */

/* State pills. */
.tc-badge {
  display: inline-block; padding: 2px 9px; border-radius: 11px;
  font-size: 11px; font-weight: 600; letter-spacing: .03em; white-space: nowrap;
  border: 1px solid transparent; vertical-align: 1px;
}
.tc-badge.ok      { background: #e6f4ea; color: #1a7f37; border-color: #b7e0c4; }
.tc-badge.bad     { background: #fdeceb; color: #b42318; border-color: #f6c9c5; }
.tc-badge.warn    { background: #fff4e0; color: #9a5b00; border-color: #f5d9a8; }
.tc-badge.info    { background: #eef2ff; color: #3538cd; border-color: #c9cdf7; }
.tc-badge.pending { background: #eaf3fd; color: #1758a5; border-color: #c2dbf5; }
.tc-badge.muted   { background: #f2f4f6; color: #57606a; border-color: #e0e5ea; }

/* Pill filters above a list. */
.tc-filters { margin: 0 0 14px 0; }
.tc-filters a {
  display: inline-block; padding: 4px 11px; margin: 0 4px 4px 0;
  border: 1px solid #d7dde3; border-radius: 14px;
  color: #57606a; background: #fbfcfd; text-decoration: none; font-size: 12px;
}
.tc-filters a:hover { border-color: #1975D7; color: #1975D7; text-decoration: none; }
.tc-filters a.on { background: #1975D7; border-color: #1975D7; color: #fff; }

/* A bordered panel with a heading bar. */
.tc-panel {
  border: 1px solid #c4ccd4; border-radius: 6px; margin-bottom: 14px; overflow: hidden;
}
.tc-panel h3 {
  margin: 0; padding: 8px 12px; background: #dfe5ea;
  border-bottom: 1px solid #c4ccd4;
  font-size: 11px; font-weight: 600; letter-spacing: .06em;
  text-transform: uppercase; color: #414b55;
}
.tc-panel .body { padding: 12px; }
.tc-panel table { width: 100%; border-collapse: collapse; }
.tc-panel td { padding: 6px 12px; border-bottom: 1px solid #dfe4e9; vertical-align: top; }
.tc-panel tr:last-child td { border-bottom: none; }
.tc-panel td.k { width: 34%; color: #6b7580; white-space: nowrap; }
.tc-panel td.v {
  font-family: "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 12px; word-break: break-all;
}

/* Summary header: a title, a state and a figure. */
.tc-head {
  display: block; padding: 14px 16px; margin-bottom: 14px;
  background: #eaeef2; border: 1px solid #c4ccd4; border-radius: 6px;
}
.tc-head .figure {
  float: right; font-size: 22px; font-weight: 600; color: #24292f;
  font-family: "SFMono-Regular", Menlo, Consolas, monospace;
}
.tc-head h2 { margin: 0 0 6px 0; font-size: 17px; font-weight: 600; }
.tc-head .sub { color: #6b7580; font-size: 12px; }

/* Key/value facts, wider and less code-like than a .tc-panel table. */
table.tc-facts { width: 100%; border-collapse: collapse; margin-bottom: 14px; }
table.tc-facts td { padding: 7px 10px; border-bottom: 1px solid #d9e0e6; }
table.tc-facts td.k { width: 34%; color: #6b7580; }
table.tc-facts .yes { color: #1a7f37; font-weight: 600; }
table.tc-facts .no  { color: #b42318; font-weight: 600; }

/* Dated events, newest first. */
.tc-timeline { list-style: none; margin: 0; padding: 4px 0; }
.tc-timeline li { padding: 6px 12px 6px 26px; position: relative; border-bottom: 1px solid #dfe4e9; }
.tc-timeline li:last-child { border-bottom: none; }
.tc-timeline li:before {
  content: ''; position: absolute; left: 11px; top: 13px;
  width: 6px; height: 6px; border-radius: 50%; background: #c2dbf5;
}
.tc-timeline li:first-child:before { background: #1975D7; }
.tc-timeline .ts {
  color: #8b949e; font-family: "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 11px; margin-right: 8px;
}

.tc-pre {
  margin: 0; padding: 10px 12px; background: #f4f7f9;
  font-family: "SFMono-Regular", Menlo, Consolas, monospace; font-size: 11px;
  white-space: pre-wrap; word-break: break-all; color: #3a424a;
}

/* Something irreversible is about to happen. */
.tc-warn {
  border: 1px solid #f0b8b2; background: #fdeceb; border-radius: 6px;
  padding: 14px 16px; margin-bottom: 16px;
}
.tc-warn h2 { margin: 0 0 6px 0; font-size: 16px; font-weight: 600; color: #b42318; }
.tc-warn p { margin: 6px 0 0 0; color: #6b2b25; }

input.tc-submit.danger { background: #b42318; border-color: #9a1d14; }
input.tc-submit.danger:hover { background: #9a1d14; }
a.tc-btn.danger { background: #fbd5d1; border-color: #e79c94; color: #96190f; }
a.tc-btn.danger:link, a.tc-btn.danger:visited { color: #b42318; }
a.tc-btn.danger:hover { background: #fbdbd8; color: #b42318; }

/* A second solid button for when two downloads sit together and need telling
   apart at a glance -- the source document blue, what we produced from it
   green. Same weight as the base button, so neither reads as the lesser one. */
a.tc-btn.green { background: #1e7e4a; border-color: #17643a; }
a.tc-btn.green:link, a.tc-btn.green:visited { color: #fff; }
a.tc-btn.green:hover { background: #17643a; color: #fff; }

/* Revision warning on /ai/register -- amber rather than red: the paper is fine,
   it is the automatic count that must not be trusted. */
.ai-warn { margin:0 0 14px; padding:11px 15px; border:1px solid #e0b83a;
  border-left:5px solid #d99b1a; border-radius:4px; background:#fdf8e8; }
.ai-warn h3 { margin:0 0 5px; font-size:13px; color:#7a5200; }
.ai-warn p { margin:0; font-size:12px; line-height:1.5; color:#6b5220; }
.ai-warn .ai-note { margin:9px 0 0; padding:8px 11px; background:#fff;
  border:1px solid #ecd58a; border-radius:3px; font-size:12px; color:#3d3a32;
  white-space:pre-wrap; }
.ai-warn .ai-note-label { display:block; font-weight:bold; font-size:10px;
  text-transform:uppercase; letter-spacing:.05em; color:#8a6d1a; margin-bottom:3px; }

/* the softer sibling: a reason to look, not a warning not to trust */
.ai-warn.look { background:#f2f6fc; border-color:#c3d3e8; border-left-color:#6f8fd8; }
.ai-warn.look h3 { color:#26456f; }
.ai-warn.look p { color:#3f5474; }
.ai-warn.look ul { margin:6px 0 0 18px; padding:0; font-size:12px; color:#26456f; }
.ai-warn.look li { margin:2px 0; }

.tc-gloss { color: #6b7580; }
.tc-mono { font-family: "SFMono-Regular", Menlo, Consolas, monospace; font-size: 12px; }
.tc-num { text-align: right; white-space: nowrap;
  font-family: "SFMono-Regular", Menlo, Consolas, monospace; font-size: 12px; }
.tc-empty { padding: 28px 10px; text-align: center; color: #6b7580; }
.tc-summary { color: #6b7580; font-size: 12px; margin-bottom: 10px; }

/* The client list shows fewer columns, so its titles get more room. */
.tc-list.doc-list .object_list_col-title { width: 420px; line-height: 1.35; }
.tc-list .object_list_col-title { width: 340px; line-height: 1.35; }
.tc-bar a.tc-btn.tc-actions { float: right; }

/* /ai/register: the approve button anchors right and is the one red thing on
   the page; every other action keeps anchoring left. input.tc-btn gets the same
   shape as a.tc-btn so a real submit can sit among the links. */
input.tc-btn {
  display: inline-block; padding: 5px 14px; margin-left: 6px; border-radius: 5px;
  font-weight: 600; font-size: 12px; cursor: pointer; font-family: inherit;
}
.tc-btn.red, input.tc-btn.red { background: #b42318; border: 1px solid #8f1a11; color: #fff; }
.tc-btn.red:hover, input.tc-btn.red:hover { background: #8f1a11; color: #fff; }
.tc-panel.actions .body .ai-right { float: right; margin-left: 12px; }
.tc-panel.actions .body .ai-right .tc-btn { display: inline-block; margin-left: 6px; }
.tc-btn.grey, a.tc-btn.grey { background: #6b7580; border: 1px solid #57606a; color: #fff; }
.tc-btn.grey:hover, a.tc-btn.grey:hover { background: #57606a; color: #fff; }
a.tc-btn.grey:link, a.tc-btn.grey:visited { color: #fff; }
.tc-panel.actions .body:after { content: ""; display: table; clear: both; }
.ai-approve input.ai-count { font-size: 14px; font-weight: 600; padding: 2px 6px; }

/* Bits the PowerTranz views still need on top of the shared components. */
.tc-detail .tc-panel .body { padding: 12px; }
.tc-detail .tc-panel.actions .tc-gloss { margin-left: 10px; }
.tc-panel .state {
  display: inline-block; padding: 6px 14px; border-radius: 5px;
  font-weight: 600; vertical-align: middle;
}
.tc-panel .state.done { background: #eef2ff; border: 1px solid #c9cdf7; color: #3538cd; }
.tc-panel .state.none { background: #f2f4f6; border: 1px solid #e0e5ea; color: #57606a; }
.tc-panel .unset { color: #b7bec6; font-family: inherit; }
.tc-list .tc-pager { margin: 12px 0; text-align: center; }
.tc-list .tc-wrap { overflow-x: auto; }
.tc-form .tc-figure {
  font-family: "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 24px; font-weight: 600; color: #24292f;
}
.tc-form fieldset {
  border: 1px solid #c4ccd4; border-radius: 6px; padding: 12px 16px; margin: 0 0 18px 0;
}
.tc-form legend { padding: 0 6px; font-size: 11px; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase; color: #414b55; }
.tc-form .opt { margin: 8px 0; }
.tc-form .opt label { font-weight: 600; }
.tc-form .opt .note { display: block; margin: 2px 0 0 22px; color: #6b7580; font-weight: normal; }
.tc-form .confirm { margin: 16px 0; }
.tc-form .confirm .field { margin: 8px 0; }
.tc-form .confirm input[type=text], .tc-form .confirm input[type=password] {
  font-family: "SFMono-Regular", Menlo, Consolas, monospace;
  padding: 5px 8px; border: 1px solid #c4ccd4; border-radius: 4px; width: 160px;
}
.tc-form .go { margin-top: 18px; }
.tc-form .cancel { margin-left: 14px; }
.tc-form .err { color: #b42318; font-weight: 600; }
.tc-detail .actions { margin: 0 0 14px 0; }

/* ------------------------------------------------------------ guide pages
   Long explanatory pages such as the guidelines. These keep the full width and
   the spacing the page already had -- the point here is decoration, not
   tightening: headings become labelled bars, numbered steps get real markers,
   and each block sits on its own so the eye can find its way back in.
   --------------------------------------------------------------------------- */
.tc-guide { font-size: 13px; line-height: 1.6; color: #24292f; }
/* A little room after a heading bar before its text. */
.tc-guide h3 + br, .tc-guide h4 + br { line-height: 1.9; }

/* A heading with an accent bar rather than an underline. */
.tc-guide h3 {
  display: inline-block; margin: 6px 0 7px -5px; padding: 8px 26px 8px 15px;
  font-size: 14px; font-weight: 600; color: #fff; letter-spacing: .01em;
  background: #1975D7;
  border-left: 5px solid #0d3f80;
  border-radius: 0 20px 20px 0;
}
.tc-guide h4 {
  display: inline-block; margin: 8px 0 6px -5px; padding: 6px 22px 6px 15px;
  font-size: 13px; font-weight: 600; color: #0d3f80;
  background: #dbe8fa;
  border-left: 5px solid #7aa9e6;
  border-radius: 0 18px 18px 0;
}

/* Numbered steps get a circled marker instead of a bare digit. */
.tc-guide ol { counter-reset: tcstep; list-style: none; padding-left: 0; margin: 12px 0 16px 0; }
.tc-guide ol > li {
  counter-increment: tcstep; position: relative;
  padding: 0 0 0 38px; margin: 0 0 12px 0;
}
.tc-guide ol > li:before {
  content: counter(tcstep); position: absolute; left: 0; top: -1px;
  width: 24px; height: 24px; line-height: 24px; text-align: center;
  border-radius: 50%; background: #eaf1fb; color: #1149a3;
  border: 1px solid #c2dbf5; font-size: 12px; font-weight: 600;
}
.tc-guide ul { list-style: none; padding-left: 0; margin: 12px 0 16px 0; }
.tc-guide ul > li { position: relative; padding: 0 0 0 22px; margin: 0 0 10px 0; }
.tc-guide ul > li:before {
  content: ''; position: absolute; left: 6px; top: 8px;
  width: 6px; height: 6px; border-radius: 50%; background: #1975D7;
}
.tc-guide li:last-child { margin-bottom: 0; }
.tc-guide b { color: #24292f; }
.tc-guide a { color: #1149a3; }

/* The admin_actions partial is shared with the paper lists, where its links are
   stacked by the list rules. On a detail page it needs the same treatment. */
.tc-detail .tc-actionlist { margin-bottom: 8px; }
.tc-detail .tc-actionlist nobr br { display: none; }
.tc-detail .tc-actionlist a {
  display: block; margin: 0 0 8px 0; padding: 6px 14px; border-radius: 5px;
  background: #cfe1f9; border: 1px solid #94bdea; color: #0d3f80;
  font-weight: 600; font-size: 12px; text-align: center;
  text-decoration: none; white-space: nowrap;
}
.tc-detail .tc-actionlist a:link, .tc-detail .tc-actionlist a:visited { color: #1149a3; }
.tc-detail .tc-actionlist a:hover {
  background: #b9d3f5; border-color: #1975D7; color: #0b3369; text-decoration: none;
}
.tc-detail .tc-head .figure { font-size: 20px; }

/* The facts in a summary header carry the weight; the punctuation between them
   does not. */
.tc-head .sub b { color: #24292f; font-weight: 600; }
.tc-head .sub b a { color: #1149a3; }

/* start_nbox_tag hardcodes width=80%, which left every box short of its
   container and the boxes below the two columns ending well left of the Actions
   box. Scoped to this page, each box fills whatever column holds it, so Actions
   and Editors match at the width of the right column and the full-width boxes
   underneath line up with their right edge. */
.tc-paper .nbox_table { width: 100%; }
.tc-cols > tbody > tr > td { vertical-align: top; }
.tc-cols > tbody > tr > td:first-child { padding-right: 14px; }

/* Every control in an Actions panel is tinted, so none of them reads as text. */
.tc-detail .tc-stack a.tc-btn.quiet {
  background: #cfe1f9; border-color: #94bdea; color: #0d3f80;
}
.tc-detail .tc-stack a.tc-btn.quiet:link,
.tc-detail .tc-stack a.tc-btn.quiet:visited { color: #1149a3; }
.tc-detail .tc-stack a.tc-btn.quiet:hover {
  background: #b9d3f5; border-color: #1975D7; color: #0b3369;
}

/* Notes shown open rather than behind a toggle. */
.tc-notes { font-size: 12px; }
.tc-notes fieldset {
  border: 1px solid #d7dde3; border-radius: 5px; margin: 4px 0 10px 0; padding: 8px 10px;
  background: #fff;
}
.tc-notes fieldset p { margin: 0; line-height: 1.5; }
.tc-notes br { display: none; }
.tc-notes a { color: #1149a3; }

/* --- /ai/register -- automated registration ------------------------------ */
/* Colour is doing real work here: each block of the manuscript is tinted by
   what the counter decided about it, so a wrong decision is visible by
   scrolling rather than by reading numbers. */
.ai-register .ai-error { background:#fdecec; border:1px solid #f3b7b7; color:#8a1f1f;
  padding:10px 13px; border-radius:4px; margin:0 0 12px; }
.ai-register .ai-lookup { margin:0 0 14px; padding:10px 12px; background:#eef2f7;
  border:1px solid #dbe1e8; border-radius:4px; }
.ai-register .ai-lookup label { font-weight:bold; margin-right:6px; }
.ai-register .ai-lookup input[type=text] { padding:3px 6px; border:1px solid #b9c3cf; }

.ai-cmp { margin-left:10px; padding:1px 8px; border-radius:10px; font-size:11px; }
.ai-cmp.good { background:#dff3e2; color:#1c5a2a; border:1px solid #b6e0bf; }
.ai-cmp.off  { background:#fdeeda; color:#8a4b00; border:1px solid #f0cb96; }

.ai-conf { display:inline-block; min-width:56px; text-align:center; padding:1px 8px;
  border-radius:10px; font-size:11px; font-weight:bold; text-transform:uppercase; }
.ai-conf.high   { background:#dff3e2; color:#1c5a2a; border:1px solid #b6e0bf; }
.ai-conf.low    { background:#fdecec; color:#8a1f1f; border:1px solid #f3b7b7; }
.ai-conf.review { background:#fdeeda; color:#8a4b00; border:1px solid #f0cb96; }
.ai-conf.medium { background:#eef3fa; color:#26456f; border:1px solid #c3d3e8; }

/* the training-data form */
.ai-form { margin:0; }
.ai-field { padding:9px 0; border-bottom:1px solid #e6eaee; }
.ai-field > label { display:inline-block; width:170px; font-weight:bold;
  vertical-align:top; padding-top:2px; }
.ai-field input[type=text] { padding:3px 6px; border:1px solid #b9c3cf; }
.ai-choices { display:inline-block; vertical-align:top; }
.ai-radio { display:block; font-weight:normal; margin:0 0 5px; }
.ai-radio .tc-gloss { display:block; margin-left:22px; }
.ai-actions { padding:14px 0 0; }
.ai-actions .tc-gloss { display:block; margin-top:7px; }


.ai-notes { margin:8px 0 0 18px; padding:0; color:#555; font-size:12px; }
.ai-notes li { margin:2px 0; }

.ai-legend { margin:0 0 10px; }
.ai-key { display:inline-block; margin:0 6px 4px 0; padding:2px 9px; border-radius:3px;
  font-size:11px; border:1px solid #ccc; }
.ai-key.identity      { background:#fdecec; border-color:#f3b7b7; color:#8a1f1f; }
.ai-key.refs          { background:#fdf4d9; border-color:#ecd58a; color:#6b5200; }
.ai-key.table_skipped { background:#eceff2; border-color:#d2d8de; color:#5b6570; }
.ai-key.table_counted { background:#e4f2e6; border-color:#b6e0bf; color:#1c5a2a; }
.ai-key.front         { background:#e9eefb; border-color:#c3d0f0; color:#22407f; }
.ai-key.body          { background:#fff; border-color:#dcdcdc; color:#444; }

.ai-doc { max-height:640px; overflow-y:auto; overflow-x:hidden; border:1px solid #dbe1e8;
  background:#fff; padding:6px; border-radius:4px; }
.ai-b { padding:4px 8px 4px 10px; margin:2px 0; border-left:4px solid #e2e2e2;
  font-size:12px; line-height:1.45; }
.ai-b .ai-role { display:inline-block; min-width:112px; font-size:10px;
  text-transform:uppercase; letter-spacing:.05em; color:#7a828b; vertical-align:top; }
.ai-b .ai-text { display:inline-block; max-width:78%; vertical-align:top; }
.ai-b .ai-why { display:block; margin:2px 0 0 112px; font-size:11px; color:#7a828b;
  font-style:italic; }
.ai-b.identity      { background:#fdecec; border-left-color:#d9534f; }
.ai-b.identity .ai-text { text-decoration:line-through; color:#8a1f1f; }
.ai-b.refs          { background:#fdf9ec; border-left-color:#e0b83a; }
.ai-b.table_skipped { background:#f4f6f8; border-left-color:#aeb6bf; color:#6b737c; }
.ai-b.table_counted { background:#eff7f0; border-left-color:#5aa76a; }
.ai-b.front         { background:#f2f5fd; border-left-color:#6f8fd8; }
.ai-b.body          { border-left-color:#e2e2e2; }
.ai-run { margin:4px 0; padding:4px 10px; color:#8a929b; font-size:11px; font-style:italic;
  background:#fafbfc; border-left:4px solid #ededed; }

.ai-diff { margin:6px 0 0; padding:0; list-style:none; }
.ai-diff li { padding:4px 9px; margin:2px 0; font-size:12px; border-left:4px solid #ccc;
  background:#fafafa; }
.ai-diff li.agreed { background:#eff7f0; border-left-color:#5aa76a; }
.ai-diff li.missed { background:#fdeeda; border-left-color:#e0a03a; }
.ai-diff .ai-tag { display:inline-block; min-width:88px; font-size:10px;
  text-transform:uppercase; letter-spacing:.05em; color:#6f7780; }
