/* ===========================================================================
   ops.css — TechStone shared design system (single source of truth)
   Matches the desktop ops pages (Daily reports, Boards, Dashboard…).
   Light theme, Monday-style. Linked by every page: views/* and the PWA.
   =========================================================================== */
:root{
  --primary:#0073ea;--primary-hover:#0060b9;--primary-sel:#cce5ff;
  --text:#323338;--text-soft:#676879;
  --bg:#f6f7fb;--card:#fff;--card2:#f1f2f6;
  --border:#d0d4e4;--ui-bg:#e7e9ef;--row-hover:#f0f7ff;
  --green:#00c875;--amber:#fdab3d;--red:#df2f4a;
  --copper:#b87333;--copper-light:#9a6328; /* brand accent (logo only) */
  --r-sm:4px;--r-md:8px;--r-lg:12px;
  --font:Figtree,Roboto,-apple-system,"Segoe UI",sans-serif;
  --shadow:0 6px 20px rgba(0,0,0,.10);
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font-family:inherit}

/* ---- top nav (white sticky header) ---- */
.topnav{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#fff;border-bottom:1px solid var(--border);padding:10px 20px;position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:8px;font-weight:500}
.brand-mark{width:26px;height:26px;background:#323338;color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.nav-link{font-size:14px;color:var(--text-soft);padding:6px 4px}
.nav-link:hover{color:var(--text)}
.nav-link.active{color:var(--primary);border-bottom:2px solid var(--primary);padding-bottom:4px}

/* ---- cards & layout ---- */
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);padding:16px;margin-bottom:18px}
.card h2{font-size:13px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-soft);margin:0 0 14px;font-weight:600}
h1{font-size:22px;margin:0 0 2px;font-weight:500}
.sub{font-size:12px;color:var(--text-soft);margin:0 0 16px}

/* ---- form controls ---- */
label{display:block;font-size:12px;font-weight:500;color:var(--text);margin:0 0 4px}
input[type=text],input[type=date],input[type=number],input[type=time],input[type=password],input[type=search],textarea,select{
  width:100%;font-family:inherit;font-size:14px;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 10px}
textarea{resize:vertical;min-height:60px}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(0,115,234,.15)}

/* ---- buttons ---- */
.btn{font-family:inherit;font-size:14px;font-weight:500;border:none;border-radius:var(--r-sm);padding:9px 18px;cursor:pointer}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-hover)}
.btn-ghost{background:transparent;color:var(--text-soft);border:1px solid var(--border)}
.btn-ghost:hover{background:var(--ui-bg)}

/* ---- helpers ---- */
.hidden{display:none!important}
.avatar{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex:0 0 auto}
