/* Mariplan — токены бренда Maripos (Maripos/app/web/src/styles/tokens.css, светлая тема Office):
   лесной зеленый + крафтовый беж, Open Sans, скругления 12/18. Общие для списка проектов и редактора. */
:root {
  --green-deep: #0E3D00;
  --green: #2F6F2F;
  --green-soft: #4D8B48;
  --beige-bg: #E0E9E0;
  --beige-2: #E8E1D1;
  --cream: #F4EFE3;
  --paper: #FFFFFF;
  --ink: #1C2418;
  --ink-2: #6B6450;
  --ink-3: #A89F88;
  --line-base: 14, 61, 0;
  --line: rgba(var(--line-base), .18);
  --line-30: rgba(var(--line-base), .3);
  --danger: #C0392B;
  --warning: #D99720;
  --amber: #fbbf24;
  --accent: var(--green-deep);
  --accent-hover: var(--green);
  --accent-contrast: #F9F2DB;
  --bar-text: #D8D1B6;
  --bar-hover: rgba(249, 242, 219, .14);
  --focus-ring: rgba(47, 111, 47, .45);
  --radius-sm: 12px;
  --radius: 18px;
  --shadow-sm: 0 1px 2px rgba(14, 61, 0, .06), 0 2px 6px rgba(14, 61, 0, .05);
  --shadow: 0 4px 10px rgba(14, 61, 0, .07), 0 10px 24px rgba(14, 61, 0, .07);
  --shadow-lg: 0 10px 24px rgba(14, 61, 0, .09), 0 24px 56px rgba(14, 61, 0, .10);
  --text-xs: 11px; --text-sm: 12px; --text-base: 13px; --text-md: 15px; --text-lg: 18px; --text-xl: 22px; --text-2xl: 28px;
  --tap-min: 40px;
  color-scheme: light;
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  background: var(--beige-bg); color: var(--ink);
  font: 400 var(--text-md)/1.45 'Open Sans', 'Segoe UI', Tahoma, sans-serif;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; color: inherit; }
a { color: var(--green); }
:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 1px; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  min-height: 34px; padding: 6px 14px; border-radius: 10px; border: 1px solid var(--line-30);
  background: var(--paper); color: var(--ink); font-weight: 600; font-size: var(--text-base);
  cursor: pointer; white-space: nowrap; text-decoration: none;
  transition: background .22s ease, border-color .22s ease, color .22s ease;
}
.btn:hover { border-color: var(--green-soft); background: var(--cream); }
.btn.primary { background: var(--accent); border-color: var(--accent); color: var(--accent-contrast); }
.btn.primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.btn.danger { color: var(--danger); }
.btn.danger:hover { border-color: var(--danger); background: #fbeeec; }
.btn:disabled { opacity: .45; cursor: default; }

.field { display: grid; gap: 4px; font-size: var(--text-sm); color: var(--ink-2); font-weight: 600; }
.field input, .field select, .field textarea {
  min-height: 34px; padding: 6px 10px; border: 1px solid var(--line-30); border-radius: 10px;
  background: var(--paper); font-size: var(--text-base); color: var(--ink); font-weight: 400; width: 100%;
}
.field input:focus, .field select:focus { border-color: var(--green-soft); outline: none; box-shadow: 0 0 0 3px var(--focus-ring); }

.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--accent-contrast); text-decoration: none; }
.brand img { width: 30px; height: 30px; display: block; }
.brand b { font-size: 19px; font-weight: 800; letter-spacing: -.01em; }
.brand small { font-size: var(--text-xs); color: var(--bar-text); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.muted { color: var(--ink-2); }
kbd { font: 600 11px ui-monospace, 'Cascadia Mono', Menlo, monospace; padding: 1px 5px; border: 1px solid var(--line-30); border-bottom-width: 2px; border-radius: 5px; background: var(--paper); }
