/* ORIDL Intranet: a look similar to oridl.in (Osmosis theme): Open Sans, a dark top bar
   (#303030 / #c9c9c9, hover #ff6863), a white header with the logo and an uppercase menu. */
:root {
    --ink: #303030;
    --ink-soft: #6e7177;
    --line: #e2e2e2;
    --paper: #f5f5f5;
    --accent: #ff6863;
    --blue: #1e73be;
    --red: #c21711;
    --green: #2bc137;
}
html, body { height: 100%; }
body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.6;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.wrap { width: 1100px; max-width: 100%; margin: 0 auto; padding: 0 16px; box-sizing: border-box; }

/* top bar */
.top-bar { background: #303030; color: #c9c9c9; font-size: 12px; line-height: 30px; }
.top-bar .wrap { display: flex; justify-content: space-between; gap: 16px; }
.top-bar .who { color: #c9c9c9; }

/* header */
.site-header { background: #fff; border-bottom: 1px solid var(--line); }
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; min-height: 90px; flex-wrap: wrap; gap: 8px 24px; }
.site-header .logo img { height: 75px; width: auto; display: block; }
.main-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 28px; }
.main-nav a { font-weight: 800; font-size: 11px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink); text-decoration: none; padding: 8px 0; display: inline-block; border-bottom: 2px solid transparent; }
.main-nav a:hover, .main-nav a:focus { color: var(--accent); text-decoration: none; }
.main-nav li.current a { border-bottom-color: var(--accent); }
.main-nav li.logout a { color: var(--red); }

/* page */
.page { flex: 1; padding: 28px 16px 48px; }
.page-title { font-size: 28px; font-weight: 600; margin: 0 0 18px; color: var(--ink); }
.lead-text { color: var(--ink-soft); margin-bottom: 24px; }
.panel { border-radius: 2px; box-shadow: none; }
.panel-default > .panel-heading, .panel-success > .panel-heading, .panel-danger > .panel-heading {
    font-weight: 700; font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase;
}
.panel-default > .panel-heading { background: #fff; color: var(--ink); border-bottom: 1px solid var(--line); }
.panel-success { border-color: var(--line); }
.panel-success > .panel-heading { background: #f0f7f1; color: #1f7a2d; border-color: var(--line); }
.panel-danger > .panel-heading { background: #fdeeee; color: var(--red); }
.report-panel .count { float: right; font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--ink-soft); }
.form-panel label { font-weight: 600; font-size: 13px; }
.form-control { border-radius: 2px; box-shadow: none; height: 36px; }
.form-control:focus { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(30,115,190,.15); }
input[type="file"].form-control { height: auto; padding: 6px 8px; }
.form-actions { padding-top: 6px; }
.help-red { color: var(--red); font-size: 12px; display: block; margin-top: 4px; }
.help-block { color: var(--ink-soft); font-size: 12px; margin-bottom: 0; }
.current-file { font-size: 12px; margin: 6px 0 0; color: var(--ink-soft); word-break: break-all; }
.remove-file { font-weight: 400; margin-left: 8px; color: var(--red); }
.btn { border-radius: 2px; font-weight: 600; }
.btn-success { background: var(--green); border-color: var(--green); }
.btn-success:hover, .btn-success:focus { background: #23a02d; border-color: #23a02d; }
.btn-primary { background: var(--blue); border-color: var(--blue); }
.btn-primary:hover, .btn-primary:focus { background: #175f9e; border-color: #175f9e; }
.btn-danger { background: var(--red); border-color: var(--red); }
.btn-danger:hover, .btn-danger:focus { background: #a3120d; border-color: #a3120d; }
.alert { border-radius: 2px; }
.muted { color: var(--ink-soft); }

/* report tables (today's columns, kept; the Tender report is wide, so the Edit / Delete
   column stays pinned at the right edge while the rest scrolls sideways) */
.table.report { font-size: 12px; margin-bottom: 8px; font-variant-numeric: tabular-nums; }
.table.report th { background: #fafafa; font-size: 11px; text-transform: uppercase; letter-spacing: 0.03em; white-space: nowrap; }
.table.report td.num { text-align: center; }
.table.report td.work { min-width: 200px; }
.table.report td.dates { white-space: nowrap; }
.table.report td.file-cell { min-width: 96px; max-width: 150px; word-break: break-all; font-size: 11px; }
.table.report td.actions, .table.report th:last-child { white-space: nowrap; text-align: center; position: sticky; right: 0; background: #fff; border-left: 1px solid #ddd !important; box-shadow: -6px 0 8px -6px rgba(0,0,0,.18); }
.table.report th:last-child { background: #fafafa; }
.table-striped > tbody > tr:nth-of-type(odd) > td.actions { background: #f9f9f9; }
.table-hover > tbody > tr:hover > td.actions { background: #f5f5f5; }
.table.report td.actions a { display: inline-block; padding: 6px 9px; color: var(--blue); font-size: 14px; border-radius: 2px; }
.table.report td.actions a.delete { color: var(--red); }
.table.report td.actions a:hover, .table.report td.actions a:focus-visible { background: #eef3f8; text-decoration: none; }
.table-responsive { border: 0; }
.file-link { color: var(--blue); }
.pagination > .active > a { background: var(--blue); border-color: var(--blue); }
.confirm-panel { border-color: var(--red); }
.inline-form { display: inline; }

/* home buttons */
.home-buttons { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; max-width: 900px; }
.home-button { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 20px; background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--blue); color: var(--ink); text-decoration: none; border-radius: 0; transition: box-shadow .15s, transform .15s; }
.home-button i { font-size: 24px; color: var(--blue); margin-bottom: 6px; }
.home-button span { font-weight: 800; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.home-button small { color: var(--ink-soft); }
.home-button:hover, .home-button:focus { text-decoration: none; color: var(--ink); box-shadow: 0 6px 18px rgba(0,0,0,.08); transform: translateY(-1px); }
.home-button.tender { border-top-color: #f0ad4e; } .home-button.tender i { color: #f0ad4e; }
.home-button.floated { border-top-color: var(--green); } .home-button.floated i { color: var(--green); }
.home-button.documents { border-top-color: var(--green); } .home-button.documents i { color: var(--green); }
.home-button.logout { border-top-color: var(--red); } .home-button.logout i { color: var(--red); }

/* sign-in */
.login-panel { margin-top: 40px; }
.login-panel .panel-title { font-weight: 600; }

/* staff documents */
.doc-group { margin-bottom: 28px; }
.doc-group h2 { font-size: 16px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--ink); margin: 0 0 10px; padding-bottom: 6px; border-bottom: 2px solid var(--accent); display: inline-block; }
.doc-table { background: #fff; margin-bottom: 0; }
.doc-table td { vertical-align: middle !important; }
.doc-table .doc-date { white-space: nowrap; color: var(--ink-soft); width: 120px; }
.doc-table .doc-action { width: 130px; text-align: right; }

/* footer */
.site-footer { background: #303030; color: #c9c9c9; font-size: 12px; padding: 14px 0; }

/* the browser's own surfaces, in the palette */
::selection { background: rgba(255,104,99,.25); color: var(--ink); }
a { color: var(--blue); }
a:hover { color: #175f9e; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.btn:focus, .btn:active:focus, .form-control:focus { outline: 0; }
.btn:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
input[type="checkbox"] { accent-color: var(--blue); }

@media (max-width: 600px) {
    .site-header .logo img { height: 56px; }
    .page-title { font-size: 22px; }
    .top-bar .who { font-size: 11px; }
    .table.report td.actions a { padding: 8px 10px; }
}
