:root {
  --forest: #123c2b;
  --forest-2: #1e5a3b;
  --leaf: #62a33b;
  --lime: #d8ed8d;
  --paper: #f3f8ef;
  --white: #fff;
  --ink: #172019;
  --muted: #6d756f;
  --line: #dfe8dc;
  --amber: #bf7a19;
  --blue: #447b94;
  --red: #aa453b;
  --mint: #e8f4df;
  --soft: #fbfdf8;
  --shadow: 0 18px 48px rgba(20, 60, 42, .10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: radial-gradient(circle at 10% 0%, rgba(216,237,141,.28), transparent 28%), linear-gradient(135deg, #f7fbf3 0%, #edf7e8 100%); font-family: Inter, "Segoe UI", Arial, sans-serif; }
body, button, input, select, textarea { overflow-wrap: anywhere; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
.hidden { display: none !important; }

.app-shell { min-height: 100vh; display: none; grid-template-columns: 268px 1fr; }
body.authenticated .app-shell { display: grid; }
.auth-screen { min-height: 100vh; display: grid; grid-template-columns: minmax(320px, 460px) minmax(320px, 1fr); gap: 28px; align-items: center; padding: 42px; }
body.authenticated .auth-screen { display: none; }
.auth-card { padding: 38px; border: 1px solid rgba(20,60,42,.08); border-radius: 28px; background: rgba(255,255,255,.92); box-shadow: var(--shadow); backdrop-filter: blur(12px); }
.auth-card .official-logo { width: min(315px, 100%); height: auto; display: block; margin: 0 auto 30px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; object-fit: contain; object-position: center; mix-blend-mode: multiply; }
.auth-card h1 { margin: 8px 0 10px; color: var(--forest); font: 500 42px Georgia, serif; }
.auth-card p { margin: 0 0 22px; color: var(--muted); line-height: 1.55; }
.auth-form { display: grid; gap: 14px; }
.auth-form .primary-button { width: 100%; margin-top: 6px; padding: 14px 18px; }
.auth-direct-card { display: grid; gap: 11px; padding: 20px; border: 1px solid rgba(98,163,59,.22); border-radius: 20px; background: linear-gradient(145deg, rgba(232,244,223,.92), rgba(255,255,255,.96)); box-shadow: 0 14px 32px rgba(20,60,42,.07); }
.auth-direct-card span { width: max-content; padding: 6px 10px; border-radius: 999px; color: var(--forest); background: rgba(216,237,141,.65); font-size: 10px; font-weight: 850; letter-spacing: .10em; text-transform: uppercase; }
.auth-direct-card strong { color: var(--forest); font-size: 18px; }
.auth-direct-card p { margin: 0; font-size: 13px; }
.auth-direct-card .primary-button { width: 100%; margin-top: 4px; text-align: center; }
.auth-card > small { display: block; margin-top: 18px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.auth-message { margin-top: 13px; padding: 11px 13px; border-radius: 10px; color: #8a3a32; background: #f9e9e6; font-size: 11px; }
.auth-side { position: relative; min-height: 560px; padding: 46px; border-radius: 34px; color: white; background: radial-gradient(circle at 78% 18%, rgba(216,237,141,.32), transparent 26%), radial-gradient(circle at 8% 82%, rgba(255,255,255,.12), transparent 28%), linear-gradient(145deg, #123c2b, #2d7044); display: grid; grid-template-rows: auto 1fr auto; gap: 26px; overflow: hidden; box-shadow: var(--shadow); }
.auth-side::before { content: ""; position: absolute; inset: 24px; border: 1px solid rgba(255,255,255,.10); border-radius: 28px; pointer-events: none; }
.auth-side::after { content: ""; position: absolute; width: 360px; height: 360px; right: -120px; top: -120px; border-radius: 50%; background: rgba(216,237,141,.10); pointer-events: none; }
.auth-hero-copy { position: relative; z-index: 1; }
.auth-hero-copy span { color: var(--lime); font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.auth-hero-copy h2 { max-width: 640px; margin: 12px 0; font: 500 clamp(36px, 5vw, 66px) Georgia, serif; line-height: .98; }
.auth-hero-copy p { max-width: 560px; margin: 0; color: rgba(255,255,255,.76); line-height: 1.6; }
.auth-insight-grid { position: relative; z-index: 1; align-self: center; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.auth-insight-grid article { display: grid; grid-template-columns: 48px 1fr; gap: 13px; align-items: start; padding: 17px; border: 1px solid rgba(255,255,255,.13); border-radius: 20px; background: rgba(255,255,255,.10); box-shadow: 0 18px 42px rgba(0,0,0,.10); backdrop-filter: blur(9px); }
.auth-figure { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 16px; color: var(--forest); background: linear-gradient(145deg, #ffffff, #d8ed8d); font-size: 13px; font-weight: 950; letter-spacing: -.02em; }
.auth-figure.ui-icon { --icon-size: 23px; }
.auth-insight-grid strong, .auth-insight-grid small { display: block; }
.auth-insight-grid strong { font-size: 14px; }
.auth-insight-grid small { margin-top: 6px; color: rgba(255,255,255,.68); font-size: 11px; line-height: 1.45; }
.auth-note-panel { position: relative; z-index: 1; padding: 18px 20px; border: 1px solid rgba(216,237,141,.22); border-radius: 22px; background: rgba(216,237,141,.12); }
.auth-note-panel strong { display: block; color: var(--lime); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.auth-note-panel p { margin: 7px 0 0; color: rgba(255,255,255,.72); font-size: 12px; line-height: 1.5; }
.sidebar { position: sticky; top: 0; height: 100vh; padding: 28px 18px 22px; color: white; background: linear-gradient(180deg, #123c2b, #0d2d20); display: flex; flex-direction: column; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; box-shadow: 12px 0 36px rgba(20,60,42,.08); }
.sidebar::-webkit-scrollbar { width: 6px; }
.sidebar::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(255,255,255,.18); }
.brand { display: block; padding: 0 10px; margin-bottom: 48px; text-align: center; }
.brand img { width: min(206px, 100%); height: auto; display: block; margin: 0 auto; padding: 9px 10px; border-radius: 15px; background: white; box-shadow: 0 10px 26px rgba(0,0,0,.12); object-fit: contain; object-position: center; }
.brand span { display: block; margin-top: 10px; color: rgba(255,255,255,.58); font-size: 11px; letter-spacing: .08em; text-align: center; }
.main-nav { display: grid; gap: 7px; }
.main-nav a { position: relative; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; padding: 12px 12px; border-radius: 13px; color: rgba(255,255,255,.72); font-size: 13px; }
.main-nav a:hover, .main-nav a.active { color: white; background: rgba(255,255,255,.12); }
.main-nav i { width: 34px; height: 26px; display: grid; place-items: center; border: 1px solid rgba(216,237,141,.18); border-radius: 10px; color: var(--lime); background: rgba(255,255,255,.07); font-style: normal; font-size: 8px; font-weight: 900; letter-spacing: .06em; }
.main-nav a:hover i, .main-nav a.active i { color: var(--forest); background: var(--lime); }
.main-nav b { min-width: 20px; padding: 3px 6px; border-radius: 10px; color: var(--forest); background: var(--lime); font-size: 10px; text-align: center; }
.ui-icon { --icon-size: 18px; --icon: none; font-size: 0 !important; line-height: 1; }
.ui-icon::before { content: ""; width: var(--icon-size); height: var(--icon-size); display: block; background: currentColor; -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat; }
.ui-icon[data-icon="dashboard"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='8' rx='1'/%3E%3Crect x='14' y='3' width='7' height='5' rx='1'/%3E%3Crect x='14' y='12' width='7' height='9' rx='1'/%3E%3Crect x='3' y='15' width='7' height='6' rx='1'/%3E%3C/svg%3E"); }
.ui-icon[data-icon="calculator"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2' width='14' height='20' rx='2'/%3E%3Cpath d='M8 6h8'/%3E%3Cpath d='M8 10h.01M12 10h.01M16 10h.01M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h4'/%3E%3C/svg%3E"); }
.ui-icon[data-icon="project"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4h8l3 3v13H5V4h3z'/%3E%3Cpath d='M15 4v4h4M8 12h8M8 16h6'/%3E%3C/svg%3E"); }
.ui-icon[data-icon="inventory"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8l-9-5-9 5 9 5 9-5z'/%3E%3Cpath d='M3 8v8l9 5 9-5V8M12 13v8'/%3E%3C/svg%3E"); }
.ui-icon[data-icon="production"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V5M8 19v-7M12 19V8M16 19v-9M20 19V4'/%3E%3Cpath d='M3 19h18'/%3E%3C/svg%3E"); }
.ui-icon[data-icon="consumption"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='8' r='4'/%3E%3Ccircle cx='16' cy='16' r='4'/%3E%3Cpath d='M8 6v4M6 8h4M16 14v4M14 16h4'/%3E%3C/svg%3E"); }
.ui-icon[data-icon="manual"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M4 4.5A2.5 2.5 0 0 1 6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5z'/%3E%3C/svg%3E"); }
.ui-icon[data-icon="history"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7'/%3E%3Cpath d='M3 4v5h5M12 7v6l4 2'/%3E%3C/svg%3E"); }
.ui-icon[data-icon="reports"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6M8 17v-4M12 17v-7M16 17v-2'/%3E%3C/svg%3E"); }
.ui-icon[data-icon="notes"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3Cpath d='M8 8h8M8 12h6'/%3E%3C/svg%3E"); }
.ui-icon[data-icon="calendar"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E"); }
.ui-icon[data-icon="timer"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='13' r='8'/%3E%3Cpath d='M9 2h6M12 9v5l3 2'/%3E%3C/svg%3E"); }
.ui-icon[data-icon="money"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7H14a3.5 3.5 0 0 1 0 7H6'/%3E%3C/svg%3E"); }
.ui-icon[data-icon="plantio"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21c7-1 12-6 14-14 0 0-8 0-12 4-3 3-3 7-2 10z'/%3E%3Cpath d='M5 21c3-5 7-8 14-14'/%3E%3C/svg%3E"); }
.ui-icon[data-icon="cercamento"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4v16M20 4v16M8 4v16M16 4v16M4 8h16M4 13h16'/%3E%3C/svg%3E"); }
.ui-icon[data-icon="irrigacao"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2C8 7 6 10 6 14a6 6 0 0 0 12 0c0-4-2-7-6-12z'/%3E%3C/svg%3E"); }
.ui-icon[data-icon="adubacao"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 21h10l2-9H5l2 9z'/%3E%3Cpath d='M8 12V8a4 4 0 0 1 8 0v4M9 16h6'/%3E%3C/svg%3E"); }
.ui-icon[data-icon="bioengenharia"] { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17l9 4 9-4M3 12l9 4 9-4M3 7l9 4 9-4'/%3E%3C/svg%3E"); }
.main-nav i.ui-icon { --icon-size: 17px; }
.nav-more { display: grid; gap: 7px; margin-top: 8px; padding: 8px 7px 7px; border: 1px solid rgba(255,255,255,.08); border-radius: 16px; background: rgba(255,255,255,.035); }
.nav-more[open] { padding-bottom: 9px; }
.nav-more summary { list-style: none; padding: 10px 10px; border-radius: 11px; color: rgba(255,255,255,.70); background: rgba(255,255,255,.045); font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.nav-more summary::-webkit-details-marker { display: none; }
.nav-more summary::after { content: "+"; float: right; color: var(--lime); }
.nav-more[open] summary::after { content: "-"; }
.nav-more a { grid-template-columns: 36px 1fr auto; margin-top: 0; padding: 10px 10px; border: 1px solid transparent; border-radius: 12px; font-size: 12px; }
.nav-more a i { width: 30px; height: 24px; border-radius: 9px; }
.nav-more a:hover, .nav-more a.active { border-color: rgba(216,237,141,.20); background: rgba(216,237,141,.13); }
.nav-more a:hover i, .nav-more a.active i { color: var(--forest); background: var(--lime); }
.user-card { margin-top: auto; padding: 14px 10px 0; border-top: 1px solid rgba(255,255,255,.12); display: grid; grid-template-columns: 37px 1fr auto; gap: 10px; align-items: center; }
.avatar { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 50%; color: var(--forest); background: var(--lime); font-weight: 800; font-size: 11px; }
.user-card strong, .user-card small { display: block; }
.user-card strong { font-size: 12px; }.user-card small { margin-top: 4px; color: rgba(255,255,255,.56); font-size: 9px; }
.logout-button { display: none; padding: 7px 8px; border: 1px solid rgba(255,255,255,.14); border-radius: 9px; color: rgba(255,255,255,.78); background: rgba(255,255,255,.07); font-size: 10px; font-weight: 800; }

.main-content { min-width: 0; padding: 25px 42px 64px; }
.topbar { min-height: 68px; display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; padding: 12px 16px; border: 1px solid rgba(223,232,220,.8); border-radius: 20px; background: rgba(255,255,255,.72); box-shadow: 0 10px 28px rgba(20,60,42,.045); backdrop-filter: blur(10px); }
.eyebrow { margin: 0; color: var(--leaf); font-size: 9px; font-weight: 800; letter-spacing: .17em; }
.eyebrow.light { color: var(--lime); }
.topbar > div:not(.top-actions) { min-width: 0; }
.topbar h1 { margin: 5px 0 0; overflow: hidden; font: 500 27px Georgia, serif; text-overflow: ellipsis; white-space: nowrap; }
.top-actions { display: flex; gap: 10px; align-items: center; }
.mobile-menu { display: none; border: 0; background: none; color: var(--forest); font-size: 24px; }
.mobile-bottom-nav { display: none; }
.page { display: none; scroll-margin-top: 96px; animation: fade .18s ease; }
.page.active { display: block; }
@keyframes fade { from { opacity: .35; transform: translateY(3px); } }

.welcome { min-height: 230px; padding: 38px 42px; border-radius: 28px; color: white; background: radial-gradient(circle at 82% 20%, rgba(216,237,141,.28), transparent 27%), linear-gradient(135deg, #123c2b, #2e7044); display: flex; align-items: center; justify-content: space-between; box-shadow: var(--shadow); }
.welcome h2 { margin: 9px 0 9px; font: 500 clamp(34px, 4vw, 52px) Georgia, serif; }
.welcome p:not(.eyebrow) { margin: 0; color: rgba(255,255,255,.68); }
.purpose-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin: 17px 0; }
.purpose-grid article { min-width: 0; padding: 18px; border: 1px solid rgba(223,232,220,.95); border-radius: 18px; background: rgba(255,255,255,.88); box-shadow: 0 10px 28px rgba(20,60,42,.05); }
.purpose-grid span { width: fit-content; min-width: 38px; height: 28px; display: grid; place-items: center; padding: 0 9px; border-radius: 999px; color: var(--forest); background: rgba(216,237,141,.72); font-size: 9px; font-weight: 900; letter-spacing: .06em; }
.purpose-grid strong { display: block; margin-top: 13px; color: var(--forest); font-size: 14px; }
.purpose-grid p { margin: 7px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.manual-purpose { margin: -4px 0 17px; }
.primary-button, .light-button, .install-button, .approve-button { display: inline-flex; align-items: center; justify-content: center; min-width: 0; padding: 12px 17px; border: 0; border-radius: 12px; color: white; background: linear-gradient(135deg, var(--forest), var(--forest-2)); font-size: 12px; font-weight: 800; text-align: center; box-shadow: 0 10px 22px rgba(20,60,42,.12); }
.light-button { color: var(--forest); background: var(--lime); }
.install-button { background: var(--leaf); }
.sync-button { display: inline-flex; align-items: center; justify-content: center; min-width: 0; padding: 11px 15px; border: 0; border-radius: 12px; color: white; background: linear-gradient(135deg, #32647b, #173f2b); font-size: 11px; font-weight: 850; text-align: center; box-shadow: 0 8px 18px rgba(20,60,42,.08); white-space: nowrap; }
.sync-button.is-syncing { opacity: .72; cursor: wait; }
.sync-button.is-offline { color: var(--forest); background: #fff4dc; }
.sync-button.is-ok { background: linear-gradient(135deg, var(--leaf), var(--forest)); }
.sync-button.is-error { background: linear-gradient(135deg, #b5493d, #783027); }
.exit-button { display: inline-flex; align-items: center; justify-content: center; min-width: 0; padding: 11px 15px; border: 1px solid rgba(20,60,42,.14); border-radius: 12px; color: var(--forest); background: rgba(255,255,255,.88); font-size: 11px; font-weight: 850; text-align: center; box-shadow: 0 8px 18px rgba(20,60,42,.06); white-space: nowrap; }
.exit-button:hover { border-color: rgba(98,163,59,.35); background: #edf7e8; }

.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin: 17px 0; }
.stats-grid article { min-width: 0; padding: 22px; border: 1px solid rgba(223,232,220,.9); border-radius: 20px; background: rgba(255,255,255,.86); display: flex; gap: 14px; align-items: flex-start; box-shadow: 0 10px 28px rgba(20,60,42,.055); }
.stat-icon { flex: 0 0 auto; width: 40px; height: 38px; display: grid; place-items: center; border-radius: 12px; font-size: 9px; font-weight: 900; letter-spacing: .06em; }
.stat-icon.ui-icon { --icon-size: 20px; }
.stat-icon.green { color: #477c2c; background: #e8f2e1; }.stat-icon.amber { color: #a16613; background: #fff1d8; }
.stat-icon.blue { color: #32647b; background: #e1f0f5; }.stat-icon.dark { color: white; background: var(--forest); font-size: 11px; }
.stats-grid small { display: block; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.stats-grid strong { display: block; margin: 5px 0 2px; font: 500 clamp(20px, 2.2vw, 24px) Georgia, serif; line-height: 1.08; }
.stats-grid strong, .result-grid strong, .production-preview strong, .production-summary-grid strong { overflow-wrap: normal; word-break: normal; }
#statValue { font-size: clamp(18px, 1.65vw, 23px); }
.stats-grid p { margin: 0; color: var(--muted); font-size: 11px; }
.access-hidden { display: none !important; }

.supervisor-panel { padding: 22px; margin-bottom: 17px; }
.supervisor-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: start; margin-bottom: 14px; }
.supervisor-head h3 { margin: 5px 0 6px; color: var(--forest); font: 500 24px Georgia, serif; }
.supervisor-head span { display: block; color: var(--muted); font-size: 11px; line-height: 1.45; }
.supervisor-head .outline-button { margin: 0; white-space: nowrap; }
.supervisor-kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 9px; margin-bottom: 13px; }
.supervisor-kpis > div { min-width: 0; padding: 14px; border-radius: 13px; background: #f4f7f1; }
.supervisor-kpis small, .supervisor-kpis strong, .supervisor-kpis span { display: block; }
.supervisor-kpis small { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .08em; }
.supervisor-kpis strong { margin-top: 6px; color: var(--forest); font: 500 clamp(18px, 2vw, 22px) Georgia, serif; line-height: 1.08; }
.supervisor-kpis span { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.supervisor-project-list { display: grid; gap: 8px; }
.supervisor-project-row { display: grid; grid-template-columns: minmax(210px, 1.2fr) minmax(150px, .9fr) minmax(120px, .55fr) auto; gap: 12px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.76); }
.supervisor-project-row strong, .supervisor-project-row small { display: block; }
.supervisor-project-row strong { margin-top: 6px; color: var(--forest); font-size: 13px; }
.supervisor-project-row small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.supervisor-project-row > div:nth-child(3) strong { margin-top: 4px; font-size: 11px; }
.supervisor-project-row .outline-button { margin: 0; }
.supervisor-progress span { display: block; height: 8px; overflow: hidden; border-radius: 999px; background: #e8eee4; }
.supervisor-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--leaf), var(--lime)); }

.access-profile-panel { padding: 22px; margin-bottom: 17px; }
.access-profile-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, .34fr); gap: 18px; align-items: end; margin-bottom: 14px; }
.access-profile-head h3 { margin: 5px 0 6px; color: var(--forest); font: 500 24px Georgia, serif; }
.access-profile-head span { display: block; color: var(--muted); font-size: 11px; line-height: 1.45; }
.access-active-card { display: grid; grid-template-columns: minmax(150px, .35fr) minmax(220px, .75fr) minmax(220px, .75fr); gap: 10px; margin-bottom: 12px; }
.access-active-card > div { min-width: 0; padding: 14px; border-radius: 13px; background: #f4f7f1; }
.access-active-card small, .access-active-card strong, .access-active-card span { display: block; }
.access-active-card small { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .08em; }
.access-active-card strong { margin-top: 6px; color: var(--forest); font-size: 12px; line-height: 1.35; }
.access-active-card div:first-child strong { font: 500 clamp(18px, 2vw, 22px) Georgia, serif; line-height: 1.08; }
.access-active-card span { margin-top: 4px; color: var(--muted); font-size: 9px; }
.access-profile-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; }
.access-profile-grid article { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.76); }
.access-profile-grid article.active { border-color: rgba(98,163,59,.42); background: linear-gradient(180deg, #fbfdf8, #edf7e8); box-shadow: 0 9px 22px rgba(20,60,42,.06); }
.access-profile-grid span { display: inline-flex; padding: 5px 8px; border-radius: 999px; color: var(--forest); background: rgba(216,237,141,.72); font-size: 8px; font-weight: 900; letter-spacing: .06em; }
.access-profile-grid strong { display: block; margin-top: 9px; color: var(--forest); font-size: 12px; }
.access-profile-grid p { min-height: 48px; margin: 6px 0 10px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.access-profile-grid div { display: flex; flex-wrap: wrap; gap: 5px; }
.access-profile-grid em { padding: 5px 7px; border-radius: 999px; color: #466050; background: #f4f7f1; font-size: 8px; font-style: normal; font-weight: 750; }
.access-profile-note { margin: 12px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }

.guided-flow { display: grid; grid-template-columns: minmax(220px, 1.25fr) repeat(4, minmax(130px, 1fr)); gap: 12px; align-items: stretch; padding: 20px; margin-bottom: 17px; }
.guide-intro { padding: 4px 10px 4px 2px; }
.guide-intro h2 { margin: 5px 0 7px; font: 500 24px Georgia, serif; }
.guide-intro p:last-child { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.guide-step { padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(180deg, #fbfdf8, #f2f8ee); display: grid; align-content: start; gap: 7px; }
.guide-step span { width: fit-content; min-width: 40px; height: 30px; display: grid; place-items: center; padding: 0 9px; border-radius: 999px; color: var(--forest); background: rgba(216,237,141,.72); font-size: 9px; font-weight: 900; letter-spacing: .04em; }
.guide-step .ui-icon { width: 40px; min-width: 40px; padding: 0; --icon-size: 18px; }
.guide-step strong { color: var(--forest); font-size: 13px; }
.guide-step small { color: var(--muted); font-size: 10.5px; line-height: 1.45; }

.dashboard-grid { display: grid; grid-template-columns: 1.55fr .8fr; gap: 17px; }
.panel { border: 1px solid rgba(223,232,220,.95); border-radius: 22px; background: rgba(255,255,255,.88); box-shadow: 0 12px 34px rgba(20,60,42,.055); }
.activity-panel, .quick-panel { padding: 24px; }
.panel-heading { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin-bottom: 14px; }
.panel-heading h2, .section-heading h2 { margin: 5px 0 0; font: 500 24px Georgia, serif; }
.panel-heading a { color: var(--forest); font-size: 11px; font-weight: 750; }
.activity-row { display: grid; grid-template-columns: 38px minmax(0, 1fr) minmax(90px, auto) minmax(82px, auto); gap: 12px; align-items: center; padding: 15px 0; border-bottom: 1px solid var(--line); }
.activity-row:last-child { border-bottom: 0; }
.type-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 9px; font-size: 14px; }
.type-icon.purchase { color: #477c2c; background: #e8f2e1; }.type-icon.service { color: #906118; background: #fff0d7; }
.activity-main strong, .activity-main small { display: block; min-width: 0; }
.activity-main strong { font-size: 12px; }.activity-main small { margin-top: 5px; color: var(--muted); font-size: 9px; }
.row-value { font-size: 11px; text-align: right; }
.status { display: inline-flex; align-items: center; gap: 6px; width: fit-content; max-width: 100%; padding: 6px 9px; border-radius: 12px; font-size: 9px; font-weight: 700; }
.status i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.status.waiting { color: #9c671b; background: #fff1d9; }.status.approved { color: #4a712e; background: #ebf3e5; }
.status.quoting { color: #3b6c82; background: #e6f1f5; }.status.ordered { color: #536848; background: #edf1e9; }
.status.shipping { color: #73568e; background: #f0e9f6; }.status.received { color: #27756d; background: #e2f3f0; }
.status.done { color: #38712e; background: #e4f1df; }.status.rejected { color: var(--red); background: #f8e7e5; }
.quick-action { width: 100%; display: grid; grid-template-columns: 44px 1fr auto; gap: 12px; align-items: center; padding: 15px 0; border: 0; border-bottom: 1px solid var(--line); text-align: left; background: transparent; }
.quick-action:last-child { border-bottom: 0; }
.quick-action > span { width: 42px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: var(--forest); background: linear-gradient(145deg, #edf7e8, #d8ed8d); font-size: 9px; font-weight: 900; letter-spacing: .05em; }
.quick-action > .ui-icon { --icon-size: 20px; }
.quick-action:hover > span { color: white; background: linear-gradient(145deg, var(--forest), var(--forest-2)); }
.quick-action strong, .quick-action small { display: block; }.quick-action strong { font-size: 13px; }.quick-action small { margin-top: 4px; color: var(--muted); font-size: 10.5px; line-height: 1.4; }.quick-action b { color: var(--leaf); font-size: 20px; }
.module-action { width: 100%; display: grid; grid-template-columns: 44px 1fr auto; gap: 12px; align-items: center; padding: 14px 0; border: 0; border-bottom: 1px solid var(--line); text-align: left; background: transparent; }
.module-action:last-child { border-bottom: 0; }
.module-action > span { width: 42px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: var(--forest); background: linear-gradient(145deg, #edf7e8, #d8ed8d); font-size: 9px; font-weight: 900; letter-spacing: .05em; }
.module-action > .ui-icon { --icon-size: 20px; }
.module-action:hover > span { color: white; background: linear-gradient(145deg, var(--forest), var(--forest-2)); }
.module-action strong, .module-action small { display: block; }
.module-action strong { font-size: 13px; }
.module-action small { margin-top: 4px; color: var(--muted); font-size: 10.5px; line-height: 1.4; }
.module-action b { color: var(--leaf); font-size: 20px; }
.production-panel { grid-column: 1 / -1; padding: 24px; }
.production-summary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 13px; }
.production-summary-grid > div { min-width: 0; padding: 18px; border-radius: 12px; background: #f4f7f1; }
.production-summary-grid small, .production-summary-grid span { display: block; color: var(--muted); font-size: 9px; }
.production-summary-grid small { font-weight: 800; letter-spacing: .08em; }
.production-summary-grid strong { display: block; margin: 7px 0 4px; color: var(--forest); font: 500 clamp(20px, 2.4vw, 25px) Georgia, serif; line-height: 1.08; }
.compact-empty { padding: 24px 16px; }
.inventory-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 17px; align-items: start; margin-top: 17px; }
.inventory-form, .inventory-list { padding: 25px; }
.inventory-list { overflow: hidden; }
.inventory-filter-panel { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(170px, .45fr) minmax(220px, .75fr); gap: 12px; align-items: end; padding: 17px; margin: 14px 0 0; }
.inventory-filter-panel h3 { margin: 5px 0 0; color: var(--forest); font: 500 21px Georgia, serif; }
.inventory-filter-panel label { margin: 0; }
.inventory-list-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.inventory-list-heading h3 { margin: 5px 0 0; color: var(--forest); font: 500 20px Georgia, serif; }
.inventory-list-heading span { padding: 6px 9px; border-radius: 999px; color: var(--forest); background: #edf7e8; font-size: 9px; font-weight: 850; }
.inventory-table-head, .inventory-row { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(82px, .55fr) minmax(96px, .7fr) minmax(105px, .75fr); gap: 12px; align-items: center; }
.inventory-table-head { padding: 12px 0; color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; border-bottom: 1px solid var(--line); }
.inventory-row { padding: 15px 0; border-bottom: 1px solid var(--line); font-size: 10px; }
.inventory-row.inventory-low { background: linear-gradient(90deg, rgba(255,244,220,.72), transparent); }
.inventory-row.inventory-zero { background: linear-gradient(90deg, rgba(255,241,239,.76), transparent); }
.inventory-row strong { color: var(--forest); }
.inventory-row small { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }

.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 7px 0 22px; }
.section-heading h2 { font-size: 29px; }.section-heading p:last-child { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.draft-label { color: var(--muted); font-size: 10px; }
.helper-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: -7px 0 17px; }
.helper-strip > div { padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: #f4f7f1; }
.helper-strip strong, .helper-strip span { display: block; }
.helper-strip strong { color: var(--forest); font-size: 12px; }
.helper-strip span { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.request-form { max-width: 980px; display: grid; gap: 15px; }
.form-section { padding: 25px; }
.project-layout { display: grid; grid-template-columns: minmax(360px, .88fr) minmax(0, 1.12fr); gap: 17px; align-items: start; }
.project-form, .project-monitor { padding: 25px; }
.project-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin: 0 0 11px; padding: 7px; border: 1px solid rgba(223,232,220,.95); border-radius: 16px; background: rgba(255,255,255,.80); box-shadow: 0 8px 22px rgba(20,60,42,.045); }
.project-tabs button { min-width: 0; display: grid; grid-template-columns: 26px 1fr; gap: 8px; align-items: center; padding: 9px 10px; border: 0; border-radius: 12px; color: var(--muted); background: transparent; text-align: left; }
.project-tabs button.active { color: white; background: linear-gradient(135deg, var(--forest), var(--forest-2)); box-shadow: 0 8px 18px rgba(20,60,42,.13); }
.project-tabs span { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 9px; color: var(--forest); background: rgba(216,237,141,.78); font-size: 10px; font-weight: 950; }
.project-tabs button.active span { color: var(--forest); background: var(--lime); }
.project-tabs strong, .project-tabs small { display: block; min-width: 0; }
.project-tabs strong { font-size: 13px; line-height: 1.1; }
.project-tabs small { display: none; }
.project-tab-panel { display: none; }
.project-tab-panel.active { display: block; }
.project-open-panel { padding: 18px; }
.project-open-panel .panel-heading { margin-bottom: 10px; }
.project-open-panel .panel-heading h2 { font-size: 22px; }
.project-open-grid { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(360px, auto); gap: 10px; align-items: end; }
.project-open-grid label { margin: 0; }
.project-open-grid select { min-height: 42px; font-size: 13px; font-weight: 750; }
.project-open-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; align-items: stretch; }
.project-open-actions .primary-button, .project-open-actions .outline-button, .project-open-actions .text-button { width: 100%; min-height: 42px; margin: 0; padding: 10px 12px; border-radius: 11px; font-size: 11px; font-weight: 900; white-space: normal; line-height: 1.15; }
.project-open-actions .text-button { border: 1px solid rgba(98,163,59,.22); background: #edf7e8; color: var(--forest); }
.project-open-summary { display: grid; gap: 10px; margin-top: 12px; }
.project-open-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.project-open-kpis > div { min-width: 0; padding: 15px; border-radius: 13px; background: #f4f7f1; }
.project-open-kpis small, .project-open-kpis strong, .project-open-kpis span { display: block; }
.project-open-kpis small { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.project-open-kpis strong { margin-top: 7px; color: var(--forest); font: 500 clamp(18px, 2vw, 22px) Georgia, serif; line-height: 1.08; }
.project-open-kpis span { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.project-open-brief { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.project-open-brief > div { min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.72); }
.project-open-brief small, .project-open-brief strong { display: block; }
.project-open-brief small { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.project-open-brief strong { margin-top: 5px; color: var(--forest); font-size: 11px; line-height: 1.35; }
.project-form-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin-bottom: 14px; padding: 6px; border: 1px solid var(--line); border-radius: 14px; background: #f4f8f0; }
.project-form-steps button { min-width: 0; padding: 9px 8px; border: 0; border-radius: 10px; color: var(--muted); background: transparent; font-size: 12px; font-weight: 900; text-align: center; }
.project-form-steps button.active { color: white; background: linear-gradient(135deg, var(--forest), var(--forest-2)); box-shadow: 0 9px 18px rgba(20,60,42,.12); }
.project-draft-status { margin: -3px 0 16px; padding: 10px 12px; border: 1px solid rgba(98,163,59,.18); border-radius: 12px; color: var(--forest); background: #edf7e8; font-size: 11px; font-weight: 800; }
.project-draft-status.saving { color: #7a5517; background: #fff4dc; border-color: #f0d8a8; }
.project-draft-status.saved { color: #326b2d; background: #e6f3df; border-color: #cfe5c8; }
.project-step-panel { display: none; }
.project-step-panel.active { display: block; }
.project-save-footer { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line); }
.project-plot-head, .project-plot-row { display: grid; grid-template-columns: minmax(130px, .85fr) minmax(82px, .35fr) minmax(150px, 1fr) 32px; gap: 9px; align-items: center; }
.project-activity-head, .project-activity-row { display: grid; grid-template-columns: minmax(155px, 1.25fr) minmax(135px, 1fr) minmax(118px, .55fr) minmax(104px, .48fr) 34px; gap: 9px; align-items: center; }
.project-stock-plan-head, .project-stock-row { display: grid; grid-template-columns: minmax(190px, 1.4fr) minmax(120px, .62fr) minmax(74px, .34fr) minmax(118px, .56fr) minmax(148px, .72fr) 34px; gap: 9px; align-items: center; }
.project-plot-head, .project-activity-head, .project-stock-plan-head { margin-bottom: 7px; color: var(--muted); font-size: 9px; font-weight: 750; }
.project-plot-row, .project-activity-row, .project-stock-row { margin-bottom: 9px; }
.project-plot-summary { margin: 10px 0 18px; padding: 11px 12px; border-radius: 10px; color: var(--forest); background: #edf3e9; font-size: 11px; font-weight: 800; line-height: 1.4; }
.project-plot-summary.warning { color: #8b601b; background: #fff4dc; }
.project-plot-summary.danger { color: var(--red); background: #fff1ef; }
.project-plot-summary.ok { color: #3c6f2f; background: #e6f3df; }
.project-stock-row input, .project-activity-row input, .project-activity-row select { min-width: 0; }
.project-stock-row strong { display: block; min-width: 0; padding: 10px 11px; border-radius: 10px; color: var(--forest); background: #edf3e9; font-size: 12px; text-align: right; white-space: nowrap; overflow-wrap: normal; word-break: normal; }
.project-stock-plan-preview { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; margin: 0 0 14px; padding: 0; color: var(--forest); background: transparent; font-size: 11px; font-weight: 800; }
.project-stock-plan-preview > div { min-width: 0; padding: 14px; border: 1px solid rgba(98,163,59,.18); border-radius: 14px; background: #edf3e9; }
.project-stock-plan-preview > div.warning { color: #8b601b; background: #fff4dc; border-color: #f0d8a8; }
.project-stock-plan-preview > div.ok { color: #326b2d; background: #e6f3df; border-color: #cfe5c8; }
.project-stock-plan-preview small, .project-stock-plan-preview strong, .project-stock-plan-preview span { display: block; }
.project-stock-plan-preview small { color: var(--muted); font-size: 8px; font-weight: 900; letter-spacing: .08em; }
.project-stock-plan-preview strong { margin-top: 6px; font: 500 clamp(18px, 2vw, 23px) Georgia, serif; line-height: 1.08; white-space: nowrap; overflow-wrap: normal; word-break: normal; }
.project-stock-plan-preview span { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.project-calculator-control { display: grid; grid-template-columns: minmax(190px, .8fr) minmax(220px, 1fr); gap: 12px; align-items: stretch; margin: -5px 0 12px; }
.project-calculator-control > div { min-width: 0; padding: 12px 14px; border: 1px solid rgba(98,163,59,.20); border-radius: 12px; background: #f3f8ef; }
.project-calculator-control strong, .project-calculator-control span { display: block; }
.project-calculator-control strong { color: var(--forest); font-size: 11px; }
.project-calculator-control span { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.project-calculator-checklist { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 9px; margin: 0 0 13px; }
.project-calculator-option { display: grid; grid-template-columns: 18px 34px 1fr; gap: 8px; align-items: center; min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: #fbfdf8; cursor: pointer; }
.project-calculator-option input { width: 14px; height: 14px; accent-color: var(--leaf); }
.project-calculator-option > span { width: 30px; height: 28px; display: grid; place-items: center; border-radius: 9px; color: var(--forest); background: #edf7e8; font-size: 8px; font-weight: 900; }
.project-calculator-option > .ui-icon { --icon-size: 16px; }
.project-calculator-option strong, .project-calculator-option small { display: block; }
.project-calculator-option strong { color: var(--forest); font-size: 10px; }
.project-calculator-option small { margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.3; }
.project-calculator-stack { display: grid; gap: 12px; margin-bottom: 20px; }
.project-calculator-card { display: none; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: #fbfdf8; }
.project-calculator-card.active { display: block; }
.project-calculator-head { display: grid; grid-template-columns: 42px 1fr; gap: 11px; align-items: start; margin-bottom: 12px; }
.project-calculator-head > span { width: 40px; height: 36px; display: grid; place-items: center; border-radius: 12px; color: var(--forest); background: linear-gradient(145deg, #edf7e8, #d8ed8d); font-size: 9px; font-weight: 900; letter-spacing: .05em; }
.project-calculator-head > .ui-icon { --icon-size: 19px; }
.project-calculator-head strong, .project-calculator-head small { display: block; }
.project-calculator-head strong { color: var(--forest); font-size: 13px; }
.project-calculator-head small { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.project-calculator-note { margin: 0 0 12px; padding: 10px 12px; border-radius: 11px; color: var(--forest); background: #edf3e9; font-size: 10px; font-weight: 750; line-height: 1.4; }
.project-calculator-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.project-calculator-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.project-calc-run, .project-stock-suggest, .project-calc-clear { margin: 0; }
.project-calculator-preview { margin-top: 13px; padding: 13px; border-radius: 13px; background: #edf3e9; }
.project-calculator-preview > strong { display: block; margin-bottom: 9px; color: var(--forest); font-size: 12px; }
.project-calculator-preview p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.project-calculator-preview.is-empty { background: #f4f8f0; }
.project-calculator-preview > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.project-calculator-preview span { min-width: 0; padding: 10px; border-radius: 10px; background: rgba(255,255,255,.72); }
.project-calculator-preview small, .project-calculator-preview b { display: block; }
.project-calculator-preview small { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.project-calculator-preview b { margin-top: 5px; color: var(--forest); font-size: 11px; line-height: 1.25; }
.project-monitor label { margin-bottom: 16px; }
.project-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 17px 0 12px; }
.project-stats > div { min-width: 0; padding: 15px; border-radius: 11px; background: #f4f7f1; }
.project-stats small, .project-stats span { display: block; color: var(--muted); font-size: 8px; }
.project-stats small { font-weight: 800; letter-spacing: .08em; }
.project-stats strong { display: block; margin: 7px 0 3px; color: var(--forest); font: 500 clamp(19px, 2vw, 23px) Georgia, serif; line-height: 1.08; }
.project-progress-bar { height: 10px; overflow: hidden; border-radius: 999px; background: #e8eee4; }
.project-progress-bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--leaf), var(--lime)); }
.project-meta-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.project-meta-grid > div { min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: #fbfdf8; }
.project-meta-grid small, .project-meta-grid strong { display: block; }
.project-meta-grid small { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.project-meta-grid strong { margin-top: 5px; color: var(--forest); font-size: 11px; line-height: 1.35; }
.project-area-card, .project-calc-card, .project-stock-card, .project-dashboard-card { margin-top: 14px; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(180deg, #fbfdf8, #f4f8f0); }
.project-area-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 9px; margin-bottom: 10px; }
.project-area-summary > div { min-width: 0; padding: 13px; border-radius: 12px; background: #edf3e9; }
.project-area-summary .area-warning { background: #fff4dc; }
.project-area-summary .area-danger { background: #fff1ef; }
.project-area-summary .area-ok { background: #e6f3df; }
.project-area-summary small, .project-area-summary strong, .project-area-summary span { display: block; }
.project-area-summary small { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.project-area-summary strong { margin-top: 6px; color: var(--forest); font: 500 clamp(17px, 2vw, 21px) Georgia, serif; line-height: 1.08; }
.project-area-summary span { margin-top: 4px; color: var(--muted); font-size: 9px; }
.project-plot-list { display: grid; gap: 8px; }
.project-plot-list article { display: grid; grid-template-columns: minmax(0, 1fr) minmax(72px, auto); gap: 10px; align-items: center; padding: 11px 12px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.72); font-size: 10px; }
.project-plot-list strong, .project-plot-list small { display: block; }
.project-plot-list strong { color: var(--forest); font-size: 11px; }
.project-plot-list small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.project-plot-list b { color: var(--forest); font-size: 11px; text-align: right; }
.project-calc-module-grid { display: grid; gap: 12px; }
.project-calc-module { padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.74); }
.project-calc-module-head { display: grid; grid-template-columns: 40px 1fr; gap: 10px; align-items: start; margin-bottom: 10px; }
.project-calc-module-head > span { width: 38px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: var(--forest); background: linear-gradient(145deg, #edf7e8, #d8ed8d); font-size: 9px; font-weight: 900; letter-spacing: .05em; }
.project-calc-module-head > .ui-icon { --icon-size: 18px; }
.project-calc-module-head strong, .project-calc-module-head small { display: block; }
.project-calc-module-head strong { color: var(--forest); font-size: 12px; }
.project-calc-module-head small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.project-calc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.project-calc-grid > div { min-width: 0; padding: 13px; border-radius: 12px; color: white; background: var(--forest); }
.project-calc-grid small, .project-calc-grid strong { display: block; }
.project-calc-grid small { color: var(--lime); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.project-calc-grid strong { margin-top: 6px; font: 500 clamp(16px, 1.8vw, 19px) Georgia, serif; line-height: 1.1; }
.project-analysis-list { display: grid; gap: 9px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.project-analysis-list article { display: grid; grid-template-columns: minmax(160px, .65fr) minmax(0, 1fr); gap: 10px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.74); }
.project-analysis-list strong, .project-analysis-list small { display: block; }
.project-analysis-list strong { color: var(--forest); font-size: 12px; }
.project-analysis-list small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.project-analysis-list span { color: var(--muted); font-size: 10px; line-height: 1.45; }
.project-stock-summary, .project-dashboard-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 9px; margin-bottom: 10px; }
.project-stock-summary > div, .project-dashboard-summary > div { min-width: 0; padding: 13px; border-radius: 12px; background: #edf3e9; }
.project-stock-summary small, .project-stock-summary strong, .project-stock-summary span, .project-dashboard-summary small, .project-dashboard-summary strong, .project-dashboard-summary span { display: block; }
.project-stock-summary small, .project-dashboard-summary small { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.project-stock-summary strong, .project-dashboard-summary strong { margin-top: 6px; color: var(--forest); font: 500 clamp(17px, 2vw, 21px) Georgia, serif; line-height: 1.08; }
.project-stock-summary span, .project-dashboard-summary span { margin-top: 4px; color: var(--muted); font-size: 9px; }
.project-stock-list, .project-day-list { display: grid; gap: 8px; }
.project-stock-list article, .project-day-list article { display: grid; grid-template-columns: minmax(0, 1fr) minmax(96px, auto) minmax(94px, auto); gap: 10px; align-items: center; padding: 11px 12px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.72); font-size: 10px; }
.project-stock-list strong, .project-stock-list small, .project-day-list strong, .project-day-list small { display: block; }
.project-stock-list strong, .project-day-list strong { color: var(--forest); font-size: 11px; }
.project-stock-list small, .project-day-list small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.project-stock-list span, .project-day-list span { color: var(--muted); font-size: 10px; text-align: right; }
.project-stock-list b, .project-day-list b { color: var(--forest); font-size: 11px; text-align: right; }
.project-stock-list article.stock-shortage { border-color: #efc9c4; background: #fff7f5; }
.project-stock-list article.stock-shortage b { color: var(--red); }
.project-chart-wrap { margin-top: 20px; padding-top: 17px; border-top: 1px solid var(--line); }
.chart-heading { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 10px; }
.chart-heading strong { color: var(--forest); font-size: 13px; }
.chart-heading small { color: var(--muted); font-size: 9px; }
.project-chart { width: 100%; height: auto; display: block; overflow: visible; }
.chart-grid { stroke: #dfe6dc; stroke-width: 1; }
.chart-target { stroke: var(--amber); stroke-width: 2; stroke-dasharray: 6 5; }
.chart-target-label, .chart-labels text { fill: var(--muted); font-size: 10px; }
.chart-bars rect { fill: rgba(105,165,61,.32); }
.chart-line { fill: none; stroke: var(--forest); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.project-activity-list { display: grid; gap: 10px; margin-top: 18px; }
.project-activity-list article { display: grid; grid-template-columns: minmax(0, 1fr) 58px; gap: 10px; align-items: center; padding: 13px; border: 1px solid var(--line); border-radius: 10px; }
.project-activity-list strong, .project-activity-list small { display: block; }
.project-activity-list strong { color: var(--forest); font-size: 12px; }
.project-activity-list small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.project-activity-list span { color: var(--forest); font-weight: 800; font-size: 11px; text-align: right; }
.project-activity-list em { grid-column: 1 / -1; height: 7px; overflow: hidden; border-radius: 999px; background: #e8eee4; }
.project-activity-list i { display: block; height: 100%; border-radius: inherit; background: var(--leaf); }
.project-recent { display: grid; gap: 7px; margin-top: 18px; padding: 14px; border-radius: 11px; background: #f8faf6; }
.project-recent strong { color: var(--forest); font-size: 12px; }
.project-recent span { color: var(--muted); font-size: 10px; }
.step-title { display: flex; gap: 13px; align-items: flex-start; margin-bottom: 23px; }
.step-title > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--forest); font-size: 11px; font-weight: 800; }
.step-title h3, .step-title p { margin: 0; }.step-title h3 { font: 500 19px Georgia, serif; }.step-title p { margin-top: 4px; color: var(--muted); font-size: 10px; }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 17px; }
label { display: grid; gap: 7px; color: #59625c; font-size: 10px; font-weight: 750; }
input, select, textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--line); border-radius: 8px; outline: 0; color: var(--ink); background: #fbfcfa; }
textarea { min-height: 86px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--leaf); box-shadow: 0 0 0 3px rgba(105,165,61,.11); }
.full-field { grid-column: 1 / -1; }
.field-with-action { display: grid; grid-template-columns: minmax(0, 1fr) 42px; gap: 8px; align-items: center; }
.field-add-button { width: 42px; height: 42px; border: 0; border-radius: 10px; color: white; background: var(--forest); font-size: 20px; font-weight: 800; line-height: 1; box-shadow: 0 8px 18px rgba(20,60,42,.12); }
.item-head, .item-row { display: grid; grid-template-columns: minmax(170px, 1fr) minmax(68px, .35fr) minmax(92px, .45fr) minmax(108px, .55fr) 32px; gap: 9px; align-items: center; }
.item-head { margin-bottom: 7px; color: var(--muted); font-size: 9px; font-weight: 750; }
.item-row { margin-bottom: 9px; }
.remove-item { height: 34px; border: 0; color: var(--red); background: transparent; font-size: 20px; }
.outline-button { margin-top: 8px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 8px; color: var(--forest); background: white; font-size: 10px; font-weight: 750; }
.total-line { display: flex; justify-content: flex-end; align-items: center; gap: 22px; margin-top: 18px; padding-top: 17px; border-top: 1px solid var(--line); font-size: 11px; }
.total-line strong { color: var(--forest); font: 500 23px Georgia, serif; }
.form-footer { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 12px; }
.text-button { padding: 11px 16px; border: 0; color: var(--muted); background: transparent; font-size: 11px; font-weight: 700; }

.calculator-layout { display: grid; grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr); gap: 17px; align-items: stretch; }
.calculator-menu, .calculator-panel { min-height: 520px; }
.calculator-menu { padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.calculator-menu-head { padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.calculator-menu-head h3 { margin: 5px 0 6px; color: var(--forest); font: 500 24px Georgia, serif; }
.calculator-menu-head span { display: block; color: var(--muted); font-size: 11px; line-height: 1.45; }
.calculator-menu-list { display: grid; gap: 10px; }
.calculator-menu button { display: grid; grid-template-columns: 46px 1fr; gap: 12px; align-items: center; min-height: 66px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 14px; color: var(--muted); background: #fbfdf8; text-align: left; }
.calculator-menu button span { width: 42px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: var(--forest); background: #edf3e9; font-size: 10px; font-weight: 900; letter-spacing: .05em; }
.calculator-menu button .ui-icon { --icon-size: 20px; }
.calculator-menu button strong { color: inherit; font-size: 13px; line-height: 1.2; }
.calculator-menu button.active, .calculator-menu button:hover { color: var(--forest); border-color: rgba(98,163,59,.30); background: linear-gradient(180deg, #fbfdf8, #edf7e8); box-shadow: 0 9px 22px rgba(20,60,42,.06); }
.calculator-menu button.active span, .calculator-menu button:hover span { color: white; background: linear-gradient(145deg, var(--forest), var(--forest-2)); }
.calculator-panel { padding: 24px; display: flex; flex-direction: column; }
.calculator-badge { flex: 0 0 auto; min-width: 44px; height: 38px; display: grid; place-items: center; padding: 0 10px; border-radius: 13px; color: var(--forest); background: linear-gradient(145deg, #edf7e8, #d8ed8d); font-size: 10px; font-weight: 900; letter-spacing: .06em; }
.calculator-badge.ui-icon { width: 44px; padding: 0; --icon-size: 21px; }
.calculator-description { margin: -4px 0 22px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.calculator-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 17px; }
.calculator-form button { grid-column: 1 / -1; justify-self: start; }
.calculator-actions { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(150px, 180px)); gap: 10px; align-items: stretch; }
.calculator-actions button { width: 100%; min-height: 46px; display: inline-flex; align-items: center; justify-content: center; grid-column: auto; justify-self: stretch; margin: 0; padding-inline: 18px; }
.calculator-result { margin-top: 20px; }
.result-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.result-grid > div { min-width: 0; padding: 16px; border-radius: 10px; color: white; background: var(--forest); }
.result-grid small { display: block; color: var(--lime); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.result-grid strong { display: block; margin-top: 7px; font: 500 clamp(18px, 2vw, 21px) Georgia, serif; line-height: 1.08; }

.production-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 17px; align-items: start; }
.production-form, .production-insight { padding: 25px; }
.production-fields { margin: 24px 0 17px; padding-top: 20px; border-top: 1px solid var(--line); }
.compact-step { margin-bottom: 17px; }
.production-preview { display: grid; grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)); gap: 10px; margin: 16px 0 18px; }
.production-preview > div { min-width: 0; padding: 16px; border-radius: 10px; color: white; background: var(--forest); }
.production-preview small { display: block; color: var(--lime); font-size: 8px; font-weight: 800; letter-spacing: .09em; }
.production-preview strong { display: block; margin-top: 6px; font: 500 clamp(18px, 2vw, 21px) Georgia, serif; line-height: 1.08; }
.production-insight h3 { margin: 8px 0 14px; font: 500 23px Georgia, serif; }
.production-insight ul { display: grid; gap: 12px; margin: 0; padding-left: 18px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.production-insight li::marker { color: var(--leaf); }
.production-history-heading { margin-top: 26px; }
.production-list { overflow: hidden; }
.production-table-head, .production-row { display: grid; grid-template-columns: minmax(74px, .45fr) minmax(170px, 1.4fr) minmax(120px, .9fr) minmax(105px, .8fr) minmax(82px, .55fr) minmax(82px, .55fr); gap: 12px; align-items: center; }
.production-table-head { padding: 12px 19px; color: var(--muted); background: #f2f5f0; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.production-row { padding: 16px 19px; border-top: 1px solid var(--line); font-size: 10px; }
.production-row > strong { color: var(--forest); }
.production-metrics { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; padding-top: 10px; color: var(--muted); }
.production-metrics span, .production-metrics em { padding: 6px 8px; border-radius: 8px; background: #f4f7f1; font-size: 10px; font-style: normal; }
.production-metrics b { color: var(--forest); }

.manual-flow { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; padding: 18px; margin-bottom: 17px; }
.manual-cta { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 22px; margin: 0 0 17px; background: linear-gradient(135deg, rgba(255,255,255,.92), #edf7e8); }
.manual-cta h3 { margin: 5px 0 7px; color: var(--forest); font: 500 25px Georgia, serif; }
.manual-cta p:last-child { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.manual-cta .primary-button { white-space: nowrap; }
.manual-flow > div { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(180deg, #fbfdf8, #f2f8ee); }
.manual-flow span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 10px; color: white; background: var(--forest); font-size: 10px; font-weight: 900; }
.manual-flow strong, .manual-flow small { display: block; }
.manual-flow strong { margin-top: 10px; color: var(--forest); font-size: 12px; }
.manual-flow small { margin-top: 5px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.manual-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.manual-card { padding: 22px; }
.manual-card > span { display: inline-flex; width: fit-content; max-width: 100%; padding: 6px 10px; border-radius: 999px; color: var(--forest); background: rgba(216,237,141,.65); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.manual-card h3 { margin: 12px 0 8px; color: var(--forest); font: 500 21px Georgia, serif; }
.manual-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.manual-card ul { display: grid; gap: 7px; margin: 14px 0 0; padding-left: 17px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.manual-card li::marker { color: var(--leaf); }

.feedback-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 17px; align-items: start; }
.feedback-form, .feedback-side { padding: 25px; }
.feedback-side h3 { margin: 8px 0 14px; color: var(--forest); font: 500 23px Georgia, serif; }
.feedback-summary { display: grid; gap: 10px; margin-bottom: 15px; }
.feedback-summary > div { min-width: 0; padding: 14px; border-radius: 12px; background: #f4f7f1; }
.feedback-summary small, .feedback-summary strong, .feedback-summary span { display: block; }
.feedback-summary small { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.feedback-summary strong { margin-top: 6px; color: var(--forest); font: 500 clamp(18px, 2vw, 23px) Georgia, serif; line-height: 1.05; }
.feedback-summary span { margin-top: 4px; color: var(--muted); font-size: 9px; }
.feedback-list { margin-top: 17px; overflow: hidden; }
.feedback-list-head, .feedback-row { display: grid; grid-template-columns: minmax(210px, 1.45fr) minmax(140px, .75fr) minmax(125px, .65fr) minmax(90px, .45fr) minmax(180px, .8fr); gap: 13px; align-items: center; }
.feedback-list-head { padding: 12px 19px; color: var(--muted); background: #f2f5f0; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.feedback-row { padding: 17px 19px; border-top: 1px solid var(--line); font-size: 10px; }
.feedback-row > div:first-child strong, .feedback-row > div:first-child small, .feedback-row > span small { display: block; }
.feedback-row > div:first-child strong { margin: 4px 0; color: var(--forest); font-size: 13px; }
.feedback-row > div:first-child small, .feedback-row > span small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.feedback-row p { margin: 8px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.feedback-row em { display: block; margin-top: 8px; color: var(--forest); font-size: 10px; font-style: normal; line-height: 1.45; }
.feedback-row > span, .feedback-row > strong { color: var(--forest); font-size: 11px; }
.feedback-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.feedback-actions .outline-button, .feedback-actions .text-button { margin: 0; padding: 8px 9px; font-size: 9px; }

.toolbar { display: grid; grid-template-columns: 1fr 210px 160px; gap: 10px; padding: 15px; margin-bottom: 14px; }
.request-list { overflow: hidden; }
.table-head, .request-row { display: grid; grid-template-columns: minmax(180px, 1.45fr) minmax(140px, .95fr) minmax(82px, .48fr) minmax(96px, .55fr) minmax(125px, .7fr); gap: 13px; align-items: center; }
.table-head { padding: 12px 19px; color: var(--muted); background: #f2f5f0; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.request-row { padding: 16px 19px; border-top: 1px solid var(--line); font-size: 10px; }
.request-row > div strong, .request-row > div small { display: block; }.request-row > div strong { margin: 4px 0; font-size: 12px; }.request-row small, .request-code { color: var(--muted); font-size: 9px; }
.request-code { color: var(--leaf); font-weight: 800; }
.empty-state { padding: 55px 20px; text-align: center; color: var(--muted); }.empty-state strong { color: var(--ink); font: 500 20px Georgia, serif; }.empty-state p { font-size: 11px; }

.approval-list { width: 100%; max-width: 1120px; display: grid; gap: 14px; }
.export-panel { display: grid; grid-template-columns: minmax(260px, 1.35fr) minmax(250px, .9fr) minmax(220px, auto); gap: 18px; align-items: center; padding: 24px; }
.export-copy { min-width: 0; }
.export-copy h2 { margin: 5px 0 7px; font: 500 24px Georgia, serif; }
.export-copy p:last-child { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.export-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.export-summary > div { min-width: 0; padding: 14px; border-radius: 14px; background: #f4f7f1; }
.export-summary small { display: block; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.export-summary strong { display: block; margin-top: 6px; color: var(--forest); font: 500 clamp(18px, 2vw, 23px) Georgia, serif; line-height: 1.05; }
.export-actions { display: grid; gap: 9px; justify-items: stretch; }
.export-actions .primary-button, .export-actions .outline-button { width: 100%; margin: 0; }
.approval-card { overflow: hidden; }
.approval-top { display: grid; grid-template-columns: 42px minmax(0, 1fr) minmax(140px, .28fr); gap: 15px; align-items: center; padding: 20px 22px; }
.approval-top h3 { margin: 4px 0; font: 500 20px Georgia, serif; }.approval-top p { margin: 0; color: var(--muted); font-size: 9px; }
.approval-value { min-width: 0; text-align: right; }.approval-value small { display: block; color: var(--muted); font-size: 8px; }.approval-value strong { display: block; margin-top: 5px; font: 500 clamp(18px, 2vw, 22px) Georgia, serif; line-height: 1.08; }
.approval-details { display: grid; grid-template-columns: minmax(160px, 1.5fr) minmax(120px, 1fr) minmax(105px, 1fr); gap: 12px; padding: 15px 22px; background: #f6f8f4; }
.approval-details small, .approval-details strong { display: block; }.approval-details small { color: var(--muted); font-size: 8px; font-weight: 800; }.approval-details strong { margin-top: 5px; font-size: 11px; }
.priority-urgente { color: var(--red); }.priority-alta { color: var(--amber); }
.justification { margin: 0; padding: 16px 22px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.approval-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 13px 22px; border-top: 1px solid var(--line); }
.reject-button { padding: 10px 16px; border: 1px solid #e6c4c0; border-radius: 8px; color: var(--red); background: white; font-size: 11px; font-weight: 750; }
.approve-button { background: var(--leaf); }
.toast { position: fixed; z-index: 50; right: 25px; bottom: 25px; padding: 13px 17px; border-radius: 9px; color: white; background: var(--forest); box-shadow: var(--shadow); font-size: 11px; transform: translateY(80px); opacity: 0; transition: .25s ease; }
.toast.show { transform: translateY(0); opacity: 1; }

@media (max-width: 1050px) {
  .auth-screen { grid-template-columns: 1fr; padding: 26px; }
  .auth-side { min-height: 360px; }
  .auth-insight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .purpose-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .supervisor-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .supervisor-project-row { grid-template-columns: minmax(0, 1fr) minmax(150px, .7fr); }
  .supervisor-project-row .outline-button { width: 100%; }
  .access-profile-head, .access-active-card { grid-template-columns: 1fr; }
  .access-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guided-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guide-intro { grid-column: 1 / -1; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .manual-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .manual-cta { grid-template-columns: 1fr; align-items: stretch; }
  .manual-cta .primary-button { width: 100%; }
  .project-layout { grid-template-columns: 1fr; }
  .project-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .project-open-grid { grid-template-columns: 1fr; align-items: stretch; }
  .project-open-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); justify-content: stretch; }
  .project-open-actions .primary-button, .project-open-actions .outline-button, .project-open-actions .text-button { width: 100%; }
  .project-open-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-open-brief { grid-template-columns: 1fr; }
  .project-form-steps { grid-template-columns: repeat(5, minmax(96px, 1fr)); overflow-x: auto; }
  .production-layout { grid-template-columns: 1fr; }
  .feedback-layout { grid-template-columns: 1fr; }
  .inventory-layout { grid-template-columns: 1fr; }
  .inventory-filter-panel { grid-template-columns: 1fr; align-items: stretch; }
  .calculator-layout { grid-template-columns: 1fr; }
  .calculator-menu, .calculator-panel { min-height: auto; }
  .calculator-menu { padding: 18px; }
  .calculator-menu-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calculator-menu button { min-height: 62px; }
  .production-table-head, .table-head, .inventory-table-head, .feedback-list-head { display: none; }
  .production-row, .request-row, .inventory-row, .feedback-row { grid-template-columns: 1fr; gap: 7px; }
  .export-panel { grid-template-columns: 1fr; align-items: stretch; }
  .export-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .approval-top { grid-template-columns: 42px 1fr; }
  .approval-value { grid-column: 2; text-align: left; }
  .approval-details { grid-template-columns: 1fr; }
}

@media (min-width: 801px) {
  body { font-size: 16px; }
  .app-shell { grid-template-columns: 288px 1fr; }
  .main-content { padding: 30px 46px 76px; }
  .brand span { font-size: 12px; }
  .main-nav a { min-height: 50px; padding: 13px 12px; font-size: 14px; }
  .nav-more summary { font-size: 12px; }
  .nav-more a { min-height: 46px; font-size: 13px; }
  .user-card strong { font-size: 13px; }
  .user-card small { font-size: 10.5px; line-height: 1.35; }
  .eyebrow { font-size: 10.5px; }
  .topbar h1 { font-size: 31px; }
  .welcome p:not(.eyebrow) { max-width: 760px; font-size: 15px; line-height: 1.55; }
  .purpose-grid strong { font-size: 15.5px; }
  .purpose-grid p { font-size: 13px; }
  .stats-grid small { font-size: 10.5px; }
  .stats-grid p { font-size: 12.5px; }
  .stats-grid strong { font-size: clamp(24px, 2.25vw, 28px); }
  #statValue { font-size: clamp(21px, 1.75vw, 26px); }
  .panel-heading h2, .guide-intro h2, .supervisor-head h3, .access-profile-head h3 { font-size: 27px; }
  .section-heading h2 { font-size: 32px; }
  .section-heading p:last-child, .supervisor-head span, .access-profile-head span, .guide-intro p:last-child { font-size: 13px; line-height: 1.5; }
  .guide-step strong, .quick-action strong, .module-action strong, .activity-main strong { font-size: 14.5px; }
  .guide-step small, .quick-action small, .module-action small, .activity-main small { font-size: 12px; }
  .supervisor-kpis small, .access-active-card small, .access-profile-grid span, .project-open-kpis small, .project-open-brief small { font-size: 9.5px; }
  .supervisor-kpis span, .access-active-card span, .access-profile-grid p, .project-open-kpis span, .project-open-brief strong { font-size: 11px; }
  .access-profile-grid strong { font-size: 13.5px; }
  .helper-strip strong, .step-title h3, .manual-flow strong { font-size: 14px; }
  .helper-strip span, .step-title p, .manual-flow small { font-size: 12px; line-height: 1.45; }
  label { font-size: 12px; line-height: 1.25; }
  input, select, textarea { min-height: 46px; padding: 13px 13px; font-size: 14.5px; border-radius: 10px; }
  textarea { min-height: 102px; }
  .primary-button, .light-button, .install-button, .approve-button, .sync-button, .exit-button, .outline-button, .text-button { min-height: 42px; font-size: 13px; }
  .calculator-menu, .calculator-panel { min-height: 560px; }
  .calculator-menu-head h3 { font-size: 27px; }
  .calculator-menu-head span, .calculator-description { font-size: 14px; line-height: 1.5; }
  .calculator-menu button { min-height: 76px; padding: 15px 16px; }
  .calculator-menu button strong { font-size: 15px; }
  .calculator-form { gap: 18px; }
  .calculator-actions { grid-template-columns: repeat(2, minmax(160px, 190px)); }
  .calculator-actions button { min-height: 46px; }
  .result-grid { grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); }
  .result-grid small, .production-preview small { font-size: 9.5px; }
  .result-grid strong, .production-preview strong { font-size: clamp(21px, 2vw, 25px); }
  .project-tabs button { min-height: 48px; }
  .project-tabs strong, .project-form-steps button { font-size: 14px; }
  .project-open-panel .panel-heading h2 { font-size: 25px; }
  .project-open-actions .primary-button, .project-open-actions .outline-button, .project-open-actions .text-button { min-height: 46px; font-size: 12.5px; }
  .project-draft-status, .project-plot-summary, .project-stock-plan-preview, .project-calculator-note { font-size: 12.5px; }
  .project-calculator-control strong, .project-calculator-head strong, .project-calc-module-head strong, .project-analysis-list strong { font-size: 14px; }
  .project-calculator-control span, .project-calculator-head small, .project-calc-module-head small, .project-analysis-list small, .project-analysis-list span { font-size: 12px; }
  .project-calculator-option { grid-template-columns: 20px 38px 1fr; padding: 12px; }
  .project-calculator-option strong { font-size: 13px; }
  .project-calculator-option small { font-size: 11px; }
  .project-calculator-preview > strong { font-size: 14px; }
  .project-calculator-preview p { font-size: 12.5px; }
  .project-calculator-preview small, .project-calc-grid small, .project-stock-summary small, .project-dashboard-summary small, .project-area-summary small { font-size: 9.5px; }
  .project-calculator-preview b, .project-calc-grid strong, .project-stock-summary strong, .project-dashboard-summary strong, .project-area-summary strong { font-size: clamp(18px, 1.75vw, 22px); }
  .project-stock-row strong { padding: 12px; font-size: 13px; }
  .inventory-table-head, .production-table-head, .feedback-list-head, .table-head { font-size: 9.5px; }
  .inventory-row, .production-row, .feedback-row, .request-row { font-size: 12px; }
  .inventory-row small, .production-row small, .feedback-row p, .feedback-row em, .request-row small, .request-code { font-size: 11px; }
  .production-insight ul, .manual-card p, .manual-card ul, .export-copy p:last-child { font-size: 13px; }
  .toast { font-size: 13px; }
}
@media (max-width: 800px) {
  body.authenticated .app-shell { display: block; }
  body.authenticated .mobile-bottom-nav { display: grid; }
  .auth-screen { padding: 16px; }
  .auth-card { padding: 25px; border-radius: 22px; }
  .auth-card h1 { font-size: 34px; }
  .auth-side { display: none; }
  .sidebar { position: fixed; z-index: 30; left: -260px; width: 248px; height: 100dvh; max-height: 100dvh; padding: 20px 14px calc(24px + env(safe-area-inset-bottom)); transition: left .2s ease; box-shadow: 8px 0 30px rgba(0,0,0,.18); }
  .sidebar.open { left: 0; }
  .brand { margin-bottom: 20px; }
  .brand img { width: min(176px, 100%); padding: 7px 8px; }
  .brand span { margin-top: 7px; font-size: 10px; }
  .main-nav { gap: 6px; align-content: start; }
  .main-nav a { min-height: 46px; padding: 10px; }
  .nav-more { margin-bottom: 10px; scroll-margin-bottom: 120px; }
  .nav-more summary { min-height: 42px; padding: 11px 10px; }
  .nav-more a { min-height: 44px; padding: 10px; }
  .user-card { margin-top: 14px; padding-top: 12px; }
  .main-content { padding: 14px 14px 96px; }
  .mobile-menu { display: block; }
  .topbar { position: sticky; top: 8px; z-index: 20; justify-content: flex-start; gap: 12px; margin-bottom: 14px; padding: 10px 12px; border-radius: 16px; }
  .top-actions { margin-left: auto; }
  .mobile-bottom-nav { position: fixed; z-index: 45; left: 10px; right: 10px; bottom: 10px; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; padding: 7px; border: 1px solid rgba(223,232,220,.92); border-radius: 18px; background: rgba(255,255,255,.94); box-shadow: 0 14px 34px rgba(20,60,42,.18); backdrop-filter: blur(12px); }
  .mobile-bottom-nav a { display: grid; justify-items: center; gap: 3px; min-width: 0; padding: 8px 4px; border-radius: 12px; color: var(--muted); font-size: 10px; font-weight: 850; }
  .mobile-bottom-nav a.active { color: var(--forest); background: #edf7e8; }
  .mobile-bottom-nav i { width: 29px; height: 24px; display: grid; place-items: center; border-radius: 9px; color: var(--forest); background: #f4f8f0; font-style: normal; font-size: 8px; font-weight: 950; }
  .mobile-bottom-nav a.active i { color: white; background: var(--forest); }
  .mobile-bottom-nav span { overflow: hidden; max-width: 100%; text-overflow: ellipsis; white-space: nowrap; }
  .panel-heading { align-items: flex-start; flex-direction: column; }
  .welcome { padding: 28px; align-items: flex-start; gap: 25px; flex-direction: column; }
  .helper-strip { grid-template-columns: 1fr; }
  .toolbar { grid-template-columns: 1fr; }
  .manual-grid { grid-template-columns: 1fr; }
  .table-head { display: none; }
  .request-row { grid-template-columns: 1fr auto; }
  .request-row > span:nth-child(2), .request-row > span:nth-child(3) { display: none; }
  .item-head { display: none; }
  .item-row { grid-template-columns: 1fr 70px 32px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
  .item-row input:first-child { grid-column: 1 / -1; }.item-row select { grid-column: 1; }.item-row input:nth-of-type(3) { grid-column: 2; }
  .project-plot-head, .project-activity-head { display: none; }
  .project-plot-row { grid-template-columns: 1fr 80px 32px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
  .project-plot-row input:first-child, .project-plot-row input[name=projectPlotNotes] { grid-column: 1 / -1; }
  .project-activity-row { grid-template-columns: 1fr 80px 32px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
  .project-activity-row select:first-child, .project-activity-row select[name=projectActivityPlot] { grid-column: 1 / -1; }
  .project-stock-plan-head { display: none; }
  .project-stock-row { grid-template-columns: 1fr 72px 32px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
  .project-stock-row input:first-child { grid-column: 1 / -1; }
  .project-stock-row input[name=projectStockUnit], .project-stock-row input[name=projectStockUnitCost], .project-stock-row strong { grid-column: auto; text-align: left; }
  .project-calculator-control { grid-template-columns: 1fr; }
  .project-calculator-fields { grid-template-columns: 1fr; }
  .project-calculator-preview > div { grid-template-columns: 1fr; }
  .project-stats { grid-template-columns: 1fr; }
  .project-meta-grid { grid-template-columns: 1fr; }
  .project-calc-grid, .project-area-summary, .project-stock-summary, .project-dashboard-summary { grid-template-columns: 1fr; }
  .project-analysis-list article { grid-template-columns: 1fr; }
  .project-plot-list article, .project-stock-list article, .project-day-list article { grid-template-columns: 1fr; }
  .project-plot-list b, .project-stock-list span, .project-stock-list b, .project-day-list span, .project-day-list b { text-align: left; }
  .feedback-actions { justify-content: flex-start; }
  .export-summary, .export-actions { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  body { font-size: 15px; }
  .topbar .eyebrow { display: none; }.topbar h1 { font-size: 22px; }
  .top-actions { gap: 6px; }
  .sync-button { padding: 9px 10px; font-size: 11px; }
  .exit-button { padding: 9px 10px; font-size: 11px; }
  .welcome { min-height: auto; padding: 24px; border-radius: 22px; }
  .welcome h2 { font-size: 30px; line-height: 1.02; }
  .welcome p:not(.eyebrow) { font-size: 13px; line-height: 1.5; }
  #dashboard .purpose-grid, #dashboard .activity-panel { display: none; }
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .stats-grid article { padding: 15px; display: block; border-radius: 16px; }.stat-icon { margin-bottom: 10px; }
  .stats-grid small { font-size: 9px; }
  .stats-grid strong { font-size: 22px; }
  .stats-grid p { font-size: 11px; }
  .supervisor-panel { padding: 16px; }
  .supervisor-head { grid-template-columns: 1fr; }
  .supervisor-head .outline-button { width: 100%; }
  .supervisor-kpis { grid-template-columns: 1fr 1fr; }
  .supervisor-project-row { grid-template-columns: 1fr; }
  .access-profile-panel { padding: 16px; }
  .access-profile-grid { grid-template-columns: 1fr; }
  .access-profile-grid p { min-height: 0; }
  .guided-flow { grid-template-columns: 1fr; }
  .guide-intro h2 { font-size: 22px; }
  .guide-intro p:last-child, .guide-step small { font-size: 11px; }
  .guide-step strong { font-size: 13px; }
  .purpose-grid { grid-template-columns: 1fr; }
  .manual-flow { grid-template-columns: 1fr; }
  .manual-cta { padding: 18px; }
  .activity-row { grid-template-columns: 34px 1fr; }.activity-row .status, .row-value { margin-left: 46px; }
  .form-grid, .approval-details { grid-template-columns: 1fr; }.full-field { grid-column: auto; }
  label { font-size: 12px; }
  input, select, textarea { padding: 13px 12px; font-size: 14px; border-radius: 10px; }
  .step-title { gap: 10px; margin-bottom: 17px; }
  .step-title > span { width: 30px; height: 30px; font-size: 12px; }
  .step-title h3 { font-size: 19px; }
  .step-title p { font-size: 12px; line-height: 1.45; }
  .section-heading { margin-bottom: 14px; }
  .section-heading h2 { font-size: 26px; line-height: 1.05; }
  .section-heading p:last-child { font-size: 13px; line-height: 1.45; }
  .helper-strip > div { padding: 13px 14px; }
  .helper-strip strong { font-size: 13px; }
  .helper-strip span { font-size: 12px; }
  .panel { border-radius: 18px; }
  .project-form, .project-monitor, .form-section, .inventory-form, .inventory-list, .production-form, .production-insight, .quick-panel { padding: 18px; }
  .project-open-panel { padding: 18px; }
  .project-tabs { grid-template-columns: 1fr; gap: 5px; padding: 5px; }
  .project-tabs button { grid-template-columns: 22px 1fr; gap: 6px; padding: 8px 7px; }
  .project-tabs span { width: 22px; height: 22px; border-radius: 8px; font-size: 9px; }
  .project-tabs strong { font-size: 12px; }
  .project-open-actions { grid-template-columns: 1fr; }
  .project-open-kpis { grid-template-columns: 1fr; }
  .project-form-steps { margin-bottom: 16px; padding: 7px; }
  .project-form-steps button { padding: 11px 10px; font-size: 12px; }
  .quick-action { padding: 13px 0; }
  .quick-action strong { font-size: 13px; }
  .quick-action small { font-size: 11px; line-height: 1.35; }
  .project-calculator-option { grid-template-columns: 18px 34px 1fr; padding: 11px; }
  .project-calculator-option strong { font-size: 12px; }
  .project-calculator-option small { font-size: 10px; }
  .calculator-form, .result-grid { grid-template-columns: 1fr; }
  .calculator-actions { grid-template-columns: 1fr; }
  .calculator-actions button { min-height: 48px; }
  .calculator-menu-list { grid-template-columns: 1fr; }
  .calculator-menu-head h3 { font-size: 22px; }
  .production-summary-grid, .production-preview { grid-template-columns: 1fr; }
  .production-table-head { display: none; }
  .production-row { grid-template-columns: 1fr; gap: 7px; }
  .inventory-table-head { display: none; }
  .inventory-row { grid-template-columns: 1fr; gap: 7px; }
  .inventory-list-heading { align-items: flex-start; flex-direction: column; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .approval-top { grid-template-columns: 38px 1fr; }.approval-value { grid-column: 2; text-align: left; }
  .approval-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .form-footer, .approval-actions { grid-template-columns: 1fr; }
  .form-footer .primary-button, .form-footer .text-button, .approval-actions button { width: 100%; }
}

@media (max-width: 800px) {
  body { font-size: 16px; }
  .main-content { padding-bottom: 112px; }
  .main-nav a { font-size: 14px; }
  .nav-more summary { font-size: 12px; }
  .nav-more a { font-size: 13px; }
  .mobile-bottom-nav a { padding: 9px 4px; font-size: 11px; }
  .mobile-bottom-nav i { width: 31px; height: 26px; font-size: 9px; }
  .eyebrow { font-size: 10px; }
  .panel-heading h2, .section-heading h2 { font-size: 28px; line-height: 1.08; }
  .panel-heading a { font-size: 13px; }
  .section-heading p:last-child, .helper-strip span, .manual-card p, .manual-card ul, .calculator-description, .production-insight ul, .export-copy p:last-child { font-size: 14px; }
  .helper-strip strong, .quick-action strong, .module-action strong, .calculator-menu button strong, .activity-main strong, .project-calculator-option strong { font-size: 14px; }
  .quick-action small, .module-action small, .calculator-menu-head span, .project-calculator-option small, .production-metrics span, .production-metrics em { font-size: 12px; }
  .status, .row-value, .request-row, .inventory-row, .production-row, .feedback-row { font-size: 12px; }
  .request-row small, .request-code, .inventory-row small, .production-row small, .feedback-row p, .feedback-row em { font-size: 11px; }
  label { font-size: 13px; }
  input, select, textarea { min-height: 48px; font-size: 16px; }
  textarea { min-height: 100px; }
  .primary-button, .light-button, .install-button, .approve-button, .outline-button, .text-button { min-height: 46px; font-size: 14px; }
}

@media (max-width: 520px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  body { font-size: 16px; }
  .page { scroll-margin-top: 138px; }
  .main-content { max-width: 100%; overflow-x: hidden; padding: 14px 12px 120px; }
  .topbar { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; }
  .topbar > div:not(.top-actions) { min-width: 0; }
  .topbar h1 { font-size: 24px; line-height: 1.08; white-space: normal; }
  .top-actions { grid-column: 1 / -1; width: 100%; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-left: 0; }
  .sync-button, .exit-button { width: 100%; min-height: 42px; padding: 10px 12px; font-size: 12px; }
  .topbar, .welcome, .panel, .stats-grid, .guided-flow, .dashboard-grid { max-width: 100%; }
  .welcome > div, .guide-step, .stats-grid article, .quick-action, .module-action { min-width: 0; }
  .welcome h2 { font-size: 32px; }
  .welcome p:not(.eyebrow) { font-size: 14px; }
  .stats-grid { grid-template-columns: 1fr; }
  .stats-grid article { display: grid; grid-template-columns: 42px 1fr; align-items: start; gap: 13px; padding: 16px; }
  .stat-icon { margin-bottom: 0; }
  .stats-grid small { font-size: 10px; }
  .stats-grid p { font-size: 12px; }
  .guide-intro h2 { font-size: 24px; }
  .guide-intro p:last-child, .guide-step small { font-size: 12px; }
  .guide-step strong { font-size: 14px; }
  .quick-action strong { font-size: 14px; }
  .quick-action small { font-size: 12px; }
  .calculator-menu-head h3 { font-size: 24px; }
  .calculator-menu button { min-height: 70px; }
  .calculator-menu button strong { font-size: 14px; }
  .mobile-bottom-nav { left: 6px; right: 6px; bottom: 6px; gap: 4px; padding: 6px; }
  .mobile-bottom-nav a { padding: 9px 2px; font-size: 10.5px; }
}

@media (max-width: 380px) {
  .main-content { padding-left: 10px; padding-right: 10px; }
  .welcome { padding: 21px; }
  .welcome h2 { font-size: 29px; }
  .mobile-bottom-nav span { font-size: 10px; }
  .sync-button, .exit-button { padding: 10px 8px; }
}

@media (max-width: 800px) {
  .project-stock-plan-preview { grid-template-columns: 1fr; }
  .project-stock-row, .project-activity-row {
    grid-template-columns: minmax(0, 1fr) 42px;
    gap: 8px;
    padding: 12px 0;
    border-bottom: 1px solid var(--line);
  }
  .project-stock-row input,
  .project-stock-row strong,
  .project-activity-row select,
  .project-activity-row input {
    grid-column: 1;
    width: 100%;
  }
  .project-stock-row input:first-child,
  .project-activity-row select:first-child,
  .project-activity-row select[name=projectActivityPlot] {
    grid-column: 1 / -1;
  }
  .project-stock-row .remove-item,
  .project-activity-row .remove-item {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
  }
  .project-stock-row strong {
    text-align: left;
  }
  .project-calculator-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .project-calculator-actions .outline-button {
    width: 100%;
  }
}
