:root{
  --pine-bg:#06111b;
  --pine-bg-deep:#050d15;
  --pine-surface:#0b2030;
  --pine-surface-2:#10283a;
  --pine-surface-3:#0a1b29;
  --pine-hover:#11364b;
  --pine-line:#24465b;
  --pine-line-strong:#3a7898;
  --pine-text:#edf8ff;
  --pine-muted:#9cb5c5;
  --pine-muted-2:#7f9bac;
  --pine-accent:#67d1ff;
  --pine-good:#76e5b0;
  --pine-warn:#ffc86b;
  --pine-bad:#ff818d;
  --pine-radius:12px;
  --pine-radius-lg:16px;
  --pine-shadow:0 12px 32px rgba(2,11,20,.38);
  --pine-font:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
}
*{box-sizing:border-box}
html{background:var(--pine-bg)}
body{
  margin:0;
  min-width:320px;
  min-height:100vh;
  color:var(--pine-text);
  background:
    radial-gradient(ellipse 60% 520px at 76% 0%,rgba(22,66,92,.72),transparent 72%),
    linear-gradient(180deg,#07131f,var(--pine-bg) 44%,var(--pine-bg-deep));
  font-family:var(--pine-font);
  font-weight:500;
}
body,button,input,select,textarea,option,dialog{font-family:var(--pine-font)!important;font-synthesis:none!important}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit}
[hidden]{display:none!important}
.pine-bg{
  position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:
    linear-gradient(rgba(103,209,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(103,209,255,.03) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom,#000,transparent 88%);
}
.pine-topbar{
  min-height:76px;
  padding:0 clamp(16px,3vw,42px);
  position:sticky;top:0;z-index:40;
  display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);
  align-items:center;gap:18px;
  border-bottom:1px solid #1f4055;
  background:rgba(7,19,31,.95);
  backdrop-filter:blur(14px);
}
.pine-brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}
.pine-mark{
  width:42px;height:42px;display:grid;place-items:center;flex:none;
  border:1px solid var(--pine-line-strong);border-radius:var(--pine-radius);
  background:linear-gradient(150deg,var(--pine-surface-2),var(--pine-surface-3));
  font-size:15px;font-weight:600;
}
.pine-brand-copy{min-width:0}
.pine-brand-copy strong,.pine-brand-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pine-brand-copy strong{font-size:14px;font-weight:600;letter-spacing:.06em}
.pine-brand-copy small{margin-top:3px;color:var(--pine-muted-2);font-size:14px;letter-spacing:.04em}
.pine-nav{
  display:flex;gap:4px;padding:4px;border:1px solid var(--pine-line);
  border-radius:10px;background:#0a1d2b;overflow-x:auto;
}
.pine-nav-link,.pine-button{
  min-height:40px;padding:0 12px;border:1px solid var(--pine-line-strong);
  border-radius:7px;background:var(--pine-surface);color:var(--pine-text);
  font-size:14px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;
}
.pine-nav-link{border-color:transparent;background:transparent;color:var(--pine-muted)}
.pine-nav-link:hover,.pine-nav-link.active,.pine-button:hover{
  color:#fff;background:#17455e;border-color:#65c7ef;
}
.pine-button.primary{color:#fff;background:#17455e;border-color:#65c7ef}
.pine-button.small{min-height:34px;padding:0 9px}
.pine-account{justify-self:end;display:flex;align-items:center;gap:8px}
.pine-account>span{color:var(--pine-muted-2);font-size:14px;letter-spacing:.03em;text-transform:uppercase}
.pine-launchpad{color:var(--pine-accent);font-size:14px;font-weight:600;text-decoration:none;letter-spacing:.03em;white-space:nowrap}
.pine-shell{width:min(calc(100% - 48px),1560px);margin:0 auto;padding:30px 0 80px}
.pine-view{display:none}
.pine-view.active{display:block}
.pine-context-bar{
  margin-bottom:18px;padding:12px 14px;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  border:1px solid var(--pine-line);border-radius:var(--pine-radius);
  background:rgba(9,27,41,.88);
}
.pine-context-bar>div{min-width:230px;margin-right:auto}
.pine-context-bar span,.pine-context-bar label>span{
  display:block;color:var(--pine-muted-2);font-size:14px;font-weight:600;letter-spacing:.03em;text-transform:uppercase
}
.pine-context-bar strong{display:block;margin-top:3px;font-size:18px;font-weight:600}
.pine-context-bar label{display:grid;gap:5px;color:var(--pine-muted-2);font-size:14px;font-weight:600;text-transform:uppercase}
.pine-context-bar select{min-width:220px;min-height:40px}
.pine-hero{
  min-height:250px;padding:24px 28px;margin-bottom:14px;
  display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);align-items:end;gap:28px;
  border:1px solid var(--pine-line);border-radius:var(--pine-radius-lg);
  background:
    radial-gradient(circle at 100% 0%,rgba(39,194,255,.10),transparent 42%),
    linear-gradient(145deg,#10283a,#0a1b29 68%,#071824);
  box-shadow:var(--pine-shadow);
}
.pine-kicker,.pine-eyebrow{margin:0 0 6px;color:var(--pine-accent);font-size:14px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.pine-hero h1,.pine-page-heading h1{
  margin:0;color:#f2faff;font-size:clamp(46px,5vw,72px);line-height:.88;font-weight:600;text-transform:uppercase;
}
.pine-subcopy,.pine-page-heading p{max-width:820px;margin:13px 0 0;color:var(--pine-muted);font-size:16px;line-height:1.5}
.pine-hero-meta{display:grid;gap:8px}
.pine-hero-meta>div{padding:9px 11px;border:1px solid #31566b;border-radius:8px;background:#0a2130}
.pine-hero-meta span{display:block;color:var(--pine-muted-2);font-size:14px;font-weight:600;letter-spacing:.03em}
.pine-hero-meta strong{display:block;margin-top:3px;font-size:15px;font-weight:600}
.pine-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.pine-kpis article{
  min-height:104px;padding:16px 18px;border:1px solid var(--pine-line);border-radius:var(--pine-radius);
  background:linear-gradient(150deg,var(--pine-surface-2),var(--pine-surface-3));
}
.pine-kpis span,.pine-kpis small{display:block;color:var(--pine-muted-2);font-size:14px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}
.pine-kpis strong{display:block;margin-top:7px;font-size:30px;font-weight:600}
.pine-kpis small{margin-top:7px}
.pine-dashboard-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:14px}
.pine-panel{
  border:1px solid var(--pine-line);border-radius:var(--pine-radius-lg);
  background:rgba(7,21,32,.86);box-shadow:var(--pine-shadow);overflow:hidden;
}
.pine-panel-head{
  min-height:70px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  border-bottom:1px solid var(--pine-line);background:#0b2434;
}
.pine-panel-head h2,.pine-page-heading h2,.pine-dialog h2{margin:0;color:#f2faff;font-size:23px;font-weight:600;text-transform:uppercase}
.pine-session-summary,.pine-overview-list,.pine-list,.pine-rule-list{display:grid;gap:8px;padding:10px}
.pine-summary-row,.pine-list-row,.pine-rule-row,.pine-meal-card{
  padding:11px 12px;border:1px solid #28495c;border-radius:9px;background:#0a1f2e;
}
.pine-summary-row{display:grid;grid-template-columns:1.1fr .5fr .5fr .5fr;gap:10px;align-items:center}
.pine-summary-row span,.pine-list-row span,.pine-rule-row span{color:var(--pine-muted-2);font-size:14px}
.pine-summary-row strong,.pine-list-row strong,.pine-rule-row strong{font-size:16px;font-weight:600}
.pine-overview-empty{padding:24px;color:var(--pine-muted);font-size:14px;text-align:center}
.pine-system-mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:10px}
.pine-system-mini-grid span{
  padding:16px 12px;border:1px solid #28495c;border-radius:9px;background:#0a1f2e;
  color:var(--pine-muted);font-size:14px;font-weight:600;text-align:center;letter-spacing:.03em;
}
.pine-page-heading{margin:8px 0 20px}
.pine-page-heading h1{font-size:clamp(38px,4.4vw,62px)}
.pine-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.pine-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px}
.pine-form.compact{grid-template-columns:1fr auto}
.pine-form label{display:grid;gap:6px;color:var(--pine-muted);font-size:14px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.pine-form input,.pine-form select,.pine-form textarea,.pine-context-bar select{
  width:100%;min-height:42px;padding:9px 11px;border:1px solid #41647a;border-radius:7px;
  background:#091c2a;color:var(--pine-text);font-size:15px;
}
.pine-form input:focus,.pine-form select:focus,.pine-form textarea:focus,.pine-context-bar select:focus{
  outline:2px solid #27c2ff;outline-offset:1px;
}
.pine-form .span-2{grid-column:span 2}
.assignment-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto}
.sleeping-form{grid-template-columns:repeat(5,minmax(0,1fr)) auto}
.harvest-form{grid-template-columns:repeat(4,minmax(0,1fr))}
.rule-form{grid-template-columns:1fr}
.meal-form{grid-template-columns:1fr 2fr auto}
.pine-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pine-list-actions{display:flex;gap:6px;flex-wrap:wrap}
.pine-delete{
  min-height:32px;padding:0 8px;border:1px solid #7b3f49;border-radius:6px;background:#3b252d;color:#ffb0b9;
  font-size:14px;font-weight:600;
}
.pine-schedule-panel{margin-top:14px}
.pine-schedule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px}
.pine-session-card{border:1px solid #28495c;border-radius:10px;overflow:hidden;background:#081925}
.pine-session-card header{padding:10px 12px;border-bottom:1px solid #28495c;background:#0c2535}
.pine-session-card header span{display:block;color:var(--pine-accent);font-size:14px;font-weight:600}
.pine-session-card header strong{display:block;margin-top:3px;font-size:18px}
.pine-assignment-row{padding:10px 12px;display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:8px;align-items:center;border-bottom:1px solid #1c394b}
.pine-assignment-row:last-child{border-bottom:0}
.pine-assignment-row span{color:var(--pine-muted);font-size:14px}
.pine-table-wrap{padding:10px;overflow:auto}
.pine-table{width:100%;border-collapse:collapse;min-width:850px}
.pine-table th{padding:9px 10px;background:#112b3d;color:#c5e2ef;border-bottom:1px solid #37556a;font-size:14px;text-align:left}
.pine-table td{padding:9px 10px;border-bottom:1px solid #203d50;color:#deedf6;font-size:14px}
.pine-meal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px}
.pine-meal-card h3{margin:0;font-size:19px}
.pine-meal-card p{margin:7px 0 0;color:var(--pine-muted);font-size:14px;line-height:1.45}
.pine-property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pine-system-card{
  min-height:190px;padding:16px;border:1px solid var(--pine-line);border-radius:var(--pine-radius);
  background:linear-gradient(150deg,var(--pine-surface-2),var(--pine-surface-3));
}
.pine-system-card>span{color:var(--pine-accent);font-size:14px;font-weight:600}
.pine-system-card h2{margin:7px 0 0;font-size:22px}
.pine-system-card p{color:var(--pine-muted);font-size:14px;line-height:1.45}
.pine-system-card strong{display:block;margin-top:18px;color:var(--pine-muted-2);font-size:14px}
.danger-panel{border-color:#60414a}
.danger-panel .pine-panel-head{background:#2e2027}
.pine-auth-gate{
  min-height:calc(100vh - 76px);display:grid;place-items:center;padding:30px;
}
.pine-auth-card{
  width:min(520px,100%);padding:26px;border:1px solid var(--pine-line-strong);border-radius:var(--pine-radius-lg);
  background:linear-gradient(150deg,#10283a,#091b29);box-shadow:var(--pine-shadow);
}
.pine-auth-card h1{margin:0;font-size:50px;line-height:.9}
.pine-auth-card>p:not(.pine-eyebrow){color:var(--pine-muted);font-size:15px}
.pine-auth-card .pine-form{grid-template-columns:1fr;padding:10px 0 0}
.pine-auth-actions{display:flex;gap:8px;flex-wrap:wrap}
.pine-form-message{min-height:20px;color:var(--pine-warn);font-size:14px}
.pine-dialog{
  width:min(680px,calc(100vw - 28px));border:1px solid var(--pine-line-strong);border-radius:var(--pine-radius-lg);
  padding:0;background:linear-gradient(150deg,#10283a,#091b29);color:var(--pine-text);box-shadow:0 30px 100px rgba(0,0,0,.55)
}
.pine-dialog::backdrop{background:rgba(1,8,14,.78);backdrop-filter:blur(6px)}
.pine-dialog-body{padding:26px}
.pine-dialog-close{
  position:absolute;right:10px;top:10px;width:38px;height:38px;border:1px solid var(--pine-line);
  border-radius:8px;background:var(--pine-surface);color:#fff;font-size:24px;
}
.pine-footer{
  width:min(calc(100% - 48px),1560px);margin:0 auto;min-height:74px;padding:18px 0;
  display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--pine-line);
  color:var(--pine-muted-2);font-size:14px;letter-spacing:.03em;
}
.pine-toast{
  position:fixed;left:50%;bottom:24px;z-index:100;transform:translate(-50%,18px);
  padding:10px 14px;border:1px solid var(--pine-line);border-radius:7px;background:#0b2030;color:#fff;
  opacity:0;visibility:hidden;transition:.2s ease;font-size:14px;font-weight:600;
}
.pine-toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media(max-width:1180px){
  .pine-topbar{grid-template-columns:1fr auto}.pine-nav{grid-row:2;grid-column:1/-1;margin-bottom:8px}.pine-topbar{padding-top:8px}
  .pine-dashboard-grid{grid-template-columns:1fr}.pine-property-grid{grid-template-columns:repeat(2,1fr)}
  .sleeping-form,.assignment-form{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:780px){
  .pine-shell,.pine-footer{width:min(calc(100% - 24px),1560px)}
  .pine-topbar{padding:10px 12px}.pine-brand-copy{display:none}.pine-account{gap:6px}.pine-launchpad{display:none}
  .pine-hero{grid-template-columns:1fr;min-height:0}.pine-kpis{grid-template-columns:1fr 1fr}
  .pine-two-col{grid-template-columns:1fr}.pine-form,.pine-form.compact,.sleeping-form,.assignment-form,.harvest-form,.meal-form{grid-template-columns:1fr}
  .pine-form .span-2{grid-column:auto}.pine-schedule-grid,.pine-meal-grid,.pine-property-grid{grid-template-columns:1fr}
  .pine-summary-row{grid-template-columns:1fr 1fr}.pine-assignment-row{grid-template-columns:1fr 1fr}
  .pine-context-bar>div{width:100%;margin-right:0}
}
@media(max-width:480px){
  .pine-kpis{grid-template-columns:1fr}.pine-hero{padding:20px}.pine-hero h1{font-size:46px}
  .pine-system-mini-grid{grid-template-columns:1fr}.pine-summary-row,.pine-assignment-row{grid-template-columns:1fr}
}


/* =========================================================
   PINELOG PLANTATION RANCH BRAND
   ========================================================= */

:root{
  --pine-orange:#f46c22;
  --pine-orange-2:#ff8b42;
  --pine-orange-soft:rgba(244,108,34,.14);
  --pine-wood:#b48661;
  --pine-wood-deep:#75513d;
  --pine-tan:#ead8aa;
  --pine-green:#08a35b;
  --pine-green-soft:rgba(8,163,91,.12);
  --pine-accent:var(--pine-orange-2);
}

.pine-bg{
  background-image:
    radial-gradient(circle at 12% 22%,rgba(180,134,97,.06),transparent 24rem),
    radial-gradient(circle at 88% 6%,rgba(244,108,34,.055),transparent 28rem),
    linear-gradient(rgba(234,216,170,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(234,216,170,.018) 1px,transparent 1px);
  background-size:auto,auto,64px 64px,64px 64px;
}

.pine-topbar{
  min-height:82px;
  border-bottom-color:rgba(180,134,97,.32);
  background:rgba(7,18,28,.97);
}

.pine-brand{
  min-width:190px;
  align-self:stretch;
  display:flex;
  align-items:center;
}

.pine-topbar-logo{
  display:block;
  width:184px;
  height:62px;
  object-fit:contain;
  object-position:left center;
}

.pine-nav{
  border-color:rgba(180,134,97,.22);
  background:#0a1b28;
}

.pine-nav-link:hover,
.pine-nav-link.active{
  color:#fff;
  border-color:rgba(244,108,34,.68);
  background:linear-gradient(180deg,rgba(244,108,34,.16),rgba(117,81,61,.15));
  box-shadow:inset 0 -2px 0 var(--pine-orange);
}

.pine-launchpad{
  color:var(--pine-tan);
}

.pine-button{
  border-color:#446477;
}

.pine-button:hover{
  border-color:var(--pine-orange-2);
  background:#26313a;
}

.pine-button.primary{
  color:#fff;
  border-color:var(--pine-orange-2);
  background:linear-gradient(180deg,#9e4e23,#773a20);
  box-shadow:inset 0 1px rgba(255,255,255,.08);
}

.pine-button.primary:hover{
  border-color:#ffad72;
  background:linear-gradient(180deg,#b45b2a,#874323);
}

.pine-context-bar{
  position:relative;
  overflow:hidden;
  border-color:rgba(180,134,97,.34);
  background:
    linear-gradient(90deg,rgba(244,108,34,.045),transparent 30%),
    rgba(9,27,41,.92);
}

.pine-context-bar::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:var(--pine-orange);
}

.pine-context-bar>div>span{
  color:var(--pine-tan);
}

.pine-hero{
  min-height:345px;
  padding:22px 30px 26px;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);
  align-items:center;
  border-color:rgba(180,134,97,.38);
  background:
    radial-gradient(circle at 35% 36%,rgba(244,108,34,.055),transparent 33%),
    radial-gradient(circle at 100% 0%,rgba(103,209,255,.07),transparent 42%),
    linear-gradient(145deg,#10283a,#0a1b29 68%,#071824);
}

.pine-hero::after{
  content:"";
  position:absolute;
}

.pine-hero-brand{
  min-width:0;
}

.pine-hero-logo{
  display:block;
  width:min(620px,100%);
  height:auto;
  max-height:282px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 14px 26px rgba(0,0,0,.22));
}

.pine-kicker,
.pine-eyebrow{
  color:var(--pine-orange-2);
}

.pine-subcopy{
  max-width:720px;
  margin-top:10px;
  color:#aec1cc;
}

.pine-hero-meta>div{
  border-color:rgba(180,134,97,.38);
  background:linear-gradient(135deg,rgba(12,37,53,.96),rgba(30,31,29,.72));
}

.pine-hero-meta span{
  color:#c6aa8f;
}

.pine-kpis article{
  position:relative;
  overflow:hidden;
  border-color:rgba(180,134,97,.28);
}

.pine-kpis article::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:2px;
  background:linear-gradient(90deg,var(--pine-orange),rgba(244,108,34,0) 68%);
}

.pine-kpis article>span{
  color:#c6aa8f;
}

.pine-panel{
  border-color:rgba(79,103,116,.78);
}

.pine-panel-head{
  border-bottom-color:rgba(180,134,97,.22);
  background:
    linear-gradient(90deg,rgba(180,134,97,.055),transparent 42%),
    #0b2434;
}

.pine-page-heading{
  position:relative;
  min-height:116px;
  padding:18px 150px 16px 2px;
  display:flex;
  align-items:center;
  overflow:hidden;
  border-bottom:1px solid rgba(180,134,97,.24);
}

.pine-page-heading::after{
  content:"";
  position:absolute;
  right:18px;
  top:50%;
  width:112px;
  height:106px;
  transform:translateY(-50%);
  background:url("assets/pinelog-deer.svg") center/contain no-repeat;
  opacity:.20;
  pointer-events:none;
}

.pine-page-heading h1{
  color:#f7efe7!important;
}

.pine-system-card>span,
.pine-session-card header span{
  color:var(--pine-orange-2);
}

.pine-system-card{
  border-color:rgba(180,134,97,.28);
}

.pine-system-card strong{
  color:#c6aa8f;
}

.pine-auth-gate{
  background:
    radial-gradient(circle at 50% 28%,rgba(244,108,34,.08),transparent 34rem);
}

.pine-auth-card{
  width:min(620px,100%);
  padding:24px 30px 30px;
  border-color:rgba(180,134,97,.46);
  background:
    radial-gradient(circle at 50% 6%,rgba(244,108,34,.06),transparent 44%),
    linear-gradient(150deg,#10283a,#091b29);
}

.pine-auth-logo-wrap{
  display:flex;
  justify-content:center;
  margin:-2px 0 2px;
}

.pine-auth-logo{
  display:block;
  width:min(450px,100%);
  height:auto;
  max-height:250px;
  object-fit:contain;
  filter:drop-shadow(0 14px 28px rgba(0,0,0,.22));
}

.pine-auth-card>.pine-eyebrow{
  margin-top:2px;
  text-align:center;
  color:var(--pine-tan);
}

.pine-auth-card>p:not(.pine-eyebrow){
  margin:8px auto 10px;
  max-width:430px;
  text-align:center;
}

.pine-form input:focus,
.pine-form select:focus,
.pine-form textarea:focus,
.pine-context-bar select:focus{
  outline-color:var(--pine-orange-2);
}

.pine-footer{
  min-height:92px;
  border-top-color:rgba(180,134,97,.28);
}

.pine-footer-brand{
  display:flex;
  align-items:center;
  min-height:64px;
}

.pine-footer-logo{
  display:block;
  width:156px;
  height:70px;
  object-fit:contain;
  object-position:left center;
}

.pine-footer>span{
  color:#9d8b7e;
}

@media(max-width:1180px){
  .pine-topbar{
    padding-top:8px;
  }

  .pine-hero{
    grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  }

  .pine-hero-logo{
    width:min(540px,100%);
  }
}

@media(max-width:780px){
  .pine-topbar{
    min-height:76px;
  }

  .pine-brand{
    min-width:150px;
  }

  .pine-topbar-logo{
    width:150px;
    height:52px;
  }

  .pine-hero{
    padding:18px 20px 22px;
    grid-template-columns:1fr;
  }

  .pine-hero-logo{
    width:min(500px,100%);
    margin:0 auto;
  }

  .pine-page-heading{
    min-height:104px;
    padding-right:86px;
  }

  .pine-page-heading::after{
    right:4px;
    width:76px;
    height:74px;
    opacity:.16;
  }

  .pine-auth-card{
    padding:20px 18px 24px;
  }

  .pine-auth-logo{
    width:min(400px,100%);
  }

  .pine-footer-logo{
    width:138px;
    height:62px;
  }
}

@media(max-width:480px){
  .pine-brand{
    min-width:132px;
  }

  .pine-topbar-logo{
    width:132px;
    height:48px;
  }

  .pine-account>span{
    display:none;
  }

  .pine-hero-logo{
    width:100%;
  }

  .pine-footer{
    align-items:center;
  }
}


/* =========================================================
   ACCESS ROLES + RANCH SETUP
   ========================================================= */

.pine-role-badge{
  min-height:30px;
  padding:5px 9px;
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(244,108,34,.45);
  border-radius:7px;
  background:rgba(244,108,34,.10);
  color:#ffd2b5!important;
  font-size:14px!important;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:nowrap;
}

.pine-pending-card{
  text-align:center;
}

.pine-pending-card h2{
  margin:4px 0 8px;
  color:#f5e8de;
  font-size:24px;
  font-weight:600;
  text-transform:uppercase;
}

.pine-pending-card .pine-button{
  margin-top:8px;
}

.pine-system-link{
  display:block;
  color:inherit;
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}

.pine-system-link:hover{
  transform:translateY(-2px);
  border-color:rgba(244,108,34,.62);
  background:linear-gradient(150deg,#143044,#0d2433);
}

.pine-system-empty{
  grid-column:1/-1;
  min-height:180px;
}

.system-status.status-active{color:var(--pine-good)}
.system-status.status-maintenance{color:var(--pine-warn)}
.system-status.status-offline{color:var(--pine-bad)}
.system-status.status-planned{color:#c6aa8f}

.pine-admin-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.pine-admin-users,
.pine-admin-lodging,
.pine-admin-property{
  grid-column:1/-1;
}

.pine-admin-note{
  padding:11px 14px;
  border-bottom:1px solid rgba(180,134,97,.20);
  background:rgba(180,134,97,.055);
  color:var(--pine-muted);
  font-size:14px;
  line-height:1.45;
}

.pine-admin-note strong{
  color:var(--pine-tan);
  font-weight:600;
}

.pine-admin-list{
  display:grid;
  gap:8px;
  padding:12px;
}

.pine-admin-row{
  min-height:70px;
  padding:10px 12px;
  display:grid;
  align-items:center;
  gap:10px;
  border:1px solid #28495c;
  border-radius:9px;
  background:
    radial-gradient(circle at 100% 0%,rgba(244,108,34,.025),transparent 36%),
    #0a1f2e;
}

.pine-user-row{
  grid-template-columns:minmax(220px,1.4fr) minmax(170px,.7fr) auto;
}

.pine-person-row{
  grid-template-columns:minmax(160px,1fr) minmax(140px,.75fr) minmax(190px,1fr) auto auto;
}

.pine-setup-row{
  grid-template-columns:minmax(160px,1fr) minmax(220px,1.4fr) auto auto;
}

.pine-room-row{
  grid-template-columns:minmax(180px,1fr) auto auto;
}

.pine-property-row{
  grid-template-columns:minmax(130px,.7fr) minmax(170px,1fr) minmax(130px,.65fr) minmax(190px,1fr) minmax(260px,1.4fr) auto;
}

.pine-admin-row>div>span,
.pine-admin-row label,
.pine-bed-row label{
  color:var(--pine-muted-2);
  font-size:14px;
  font-weight:600;
  letter-spacing:.025em;
  text-transform:uppercase;
}

.pine-admin-row>div>span{
  display:block;
}

.pine-admin-row>div>strong{
  display:block;
  margin-top:3px;
  color:#fff;
  font-size:17px;
  font-weight:600;
}

.pine-admin-row>div>small{
  display:block;
  margin-top:3px;
  color:#8ea6b5;
  font-size:14px;
}

.pine-admin-row label,
.pine-bed-row label{
  display:grid;
  gap:5px;
}

.pine-admin-row input,
.pine-admin-row select,
.pine-bed-row input,
.admin-add-form input,
.admin-add-form select,
.property-admin-form input,
.property-admin-form select{
  width:100%;
  min-height:40px;
  padding:8px 10px;
  border:1px solid #41647a;
  border-radius:7px;
  background:#091c2a;
  color:var(--pine-text);
  font-size:14px;
  font-weight:500;
}

.pine-admin-row input:focus,
.pine-admin-row select:focus,
.pine-bed-row input:focus,
.admin-add-form input:focus,
.admin-add-form select:focus,
.property-admin-form input:focus,
.property-admin-form select:focus{
  outline:2px solid var(--pine-orange-2);
  outline-offset:1px;
}

.pine-toggle-label{
  display:flex!important;
  align-items:center;
  justify-content:flex-start;
  gap:7px!important;
  white-space:nowrap;
}

.pine-toggle-label input{
  width:18px!important;
  height:18px;
  min-height:18px!important;
  padding:0;
  accent-color:var(--pine-orange);
}

.pine-admin-actions{
  display:flex;
  justify-content:flex-end;
}

.pine-self-badge{
  min-height:36px;
  padding:0 9px;
  display:flex;
  align-items:center;
  border:1px solid rgba(118,229,176,.32);
  border-radius:7px;
  background:rgba(118,229,176,.08);
  color:var(--pine-good)!important;
  font-size:14px!important;
  font-weight:600;
  white-space:nowrap;
}

.pine-admin-forms{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:12px;
  border-bottom:1px solid rgba(180,134,97,.18);
}

.admin-add-form{
  grid-template-columns:1fr;
  padding:10px;
  border:1px solid #28495c;
  border-radius:9px;
  background:#091c2a;
}

.property-admin-form{
  grid-template-columns:repeat(5,minmax(0,1fr)) auto;
  border-bottom:1px solid rgba(180,134,97,.18);
}

.pine-lodging-group{
  overflow:hidden;
  border:1px solid #28495c;
  border-radius:10px;
  background:#081925;
}

.pine-lodging-group>.pine-admin-row{
  border:0;
  border-radius:0;
  border-bottom:1px solid #28495c;
  background:#0d2637;
}

.pine-room-stack{
  display:grid;
  gap:8px;
  padding:8px;
}

.pine-room-block{
  border:1px solid #203d50;
  border-radius:8px;
  overflow:hidden;
  background:#091b28;
}

.pine-room-block>.pine-admin-row{
  border:0;
  border-radius:0;
  border-bottom:1px solid #203d50;
}

.pine-bed-list{
  display:grid;
  gap:6px;
  padding:8px;
}

.pine-bed-row{
  padding:8px 10px;
  display:grid;
  grid-template-columns:minmax(170px,1fr) auto auto;
  align-items:center;
  gap:9px;
  border:1px solid #1c394b;
  border-radius:7px;
  background:#071722;
}

.pine-admin-empty{
  display:block;
  padding:10px;
  color:#809aaa;
  font-size:14px;
  font-weight:600;
  text-align:center;
}

.people-form{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.people-form .pine-button{
  align-self:end;
}

@media(max-width:1180px){
  .pine-user-row,
  .pine-person-row,
  .pine-setup-row,
  .pine-property-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .pine-user-row>div:first-child,
  .pine-person-row>div:first-child{
    grid-column:1/-1;
  }

  .pine-admin-actions{
    justify-content:flex-start;
  }

  .pine-admin-forms{
    grid-template-columns:1fr;
  }

  .property-admin-form{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:780px){
  .pine-admin-grid{
    grid-template-columns:1fr;
  }

  .pine-admin-users,
  .pine-admin-lodging,
  .pine-admin-property{
    grid-column:auto;
  }

  .pine-user-row,
  .pine-person-row,
  .pine-setup-row,
  .pine-room-row,
  .pine-property-row,
  .pine-bed-row,
  .property-admin-form,
  .people-form{
    grid-template-columns:1fr;
  }

  .pine-user-row>div:first-child,
  .pine-person-row>div:first-child{
    grid-column:auto;
  }

  .pine-account{
    min-width:0;
  }

  .pine-role-badge{
    padding:4px 7px;
  }
}


/* =========================================================
   WEEKEND-CENTERED HUNT WORKFLOW
   ========================================================= */

.pine-readiness-panel{
  grid-column:1/-1;
}

.pine-readiness-list{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  padding:10px;
}

.pine-readiness-row{
  min-height:82px;
  padding:11px 12px;
  position:relative;
  display:grid;
  align-content:center;
  gap:4px;
  border:1px solid #314b5c;
  border-radius:9px;
  background:#0a1f2e;
}

.pine-readiness-row.ready{
  border-color:rgba(118,229,176,.38);
  background:linear-gradient(145deg,rgba(118,229,176,.075),#0a1f2e);
}

.pine-readiness-dot{
  width:9px;
  height:9px;
  position:absolute;
  right:10px;
  top:10px;
  border-radius:50%;
  background:var(--pine-warn);
  box-shadow:0 0 0 4px rgba(255,200,107,.07);
}

.pine-readiness-row.ready .pine-readiness-dot{
  background:var(--pine-good);
  box-shadow:0 0 0 4px rgba(118,229,176,.07);
}

.pine-readiness-row strong{
  color:#f2faff;
  font-size:16px;
  font-weight:600;
}

.pine-readiness-row small{
  color:var(--pine-muted);
  font-size:14px;
  font-weight:500;
}

.pine-weekend-roster-panel{
  margin-bottom:14px;
}

.pine-panel-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.pine-weekend-roster-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
}

.pine-weekend-roster-grid>section{
  min-width:0;
}

.pine-weekend-roster-grid>section+section{
  border-left:1px solid var(--pine-line);
}

.pine-subhead{
  min-height:68px;
  padding:11px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid var(--pine-line);
  background:#081a27;
}

.pine-subhead>div span{
  display:block;
  color:var(--pine-orange-2);
  font-size:14px;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.pine-subhead>div strong{
  display:block;
  margin-top:3px;
  color:#fff;
  font-size:18px;
  font-weight:600;
}

.pine-subhead small{
  max-width:270px;
  color:var(--pine-muted);
  font-size:14px;
  line-height:1.35;
  text-align:right;
}

.pine-participant-list{
  max-height:390px;
  overflow:auto;
  display:grid;
  gap:7px;
  padding:10px;
}

.pine-participant-row{
  min-height:68px;
  padding:10px 11px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  border:1px solid #28495c;
  border-radius:8px;
  background:#091d2b;
}

.pine-participant-row.selected{
  border-color:rgba(118,229,176,.34);
  background:
    linear-gradient(90deg,rgba(118,229,176,.07),transparent 58%),
    #091d2b;
}

.pine-participant-row strong{
  display:block;
  color:#fff;
  font-size:16px;
  font-weight:600;
}

.pine-participant-row span,
.pine-participant-row small{
  display:block;
  margin-top:3px;
  color:var(--pine-muted);
  font-size:14px;
  line-height:1.25;
}

.pine-participant-row small{
  color:#d1a57f;
  font-weight:600;
}

.pine-participant-toggle,
.pine-participant-status{
  min-width:48px;
  min-height:38px;
  padding:0 10px;
  display:grid;
  place-items:center;
  border:1px solid #51697a;
  border-radius:7px;
  background:#132535;
  color:#a9bdc9;
  font-size:14px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.pine-participant-toggle.selected,
.pine-participant-status.selected{
  border-color:rgba(118,229,176,.52);
  background:rgba(118,229,176,.11);
  color:var(--pine-good);
}

.pine-participant-toggle:hover{
  border-color:var(--pine-orange-2);
  color:#fff;
}

.pine-directory-head{
  margin:22px 0 10px;
  padding:0 2px 10px;
  border-bottom:1px solid rgba(180,134,97,.22);
}

.pine-directory-head h2{
  margin:0;
  color:#f2faff;
  font-size:25px;
  font-weight:600;
  text-transform:uppercase;
}

.pine-directory-head p:not(.pine-eyebrow){
  margin:5px 0 0;
  color:var(--pine-muted);
  font-size:14px;
  line-height:1.4;
}

.pine-assignment-availability{
  margin:0 12px 2px;
  border:1px solid #28495c;
  border-radius:10px;
  background:#081a27;
  overflow:hidden;
}

.pine-availability-heading{
  min-height:46px;
  padding:8px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid #28495c;
  background:#0c2535;
}

.pine-availability-heading span{
  color:var(--pine-orange-2);
  font-size:14px;
  font-weight:600;
  letter-spacing:.04em;
}

.pine-availability-heading strong{
  color:#eaf6fc;
  font-size:14px;
  font-weight:600;
}

.pine-availability-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  padding:8px;
}

.pine-availability-grid article{
  min-height:82px;
  padding:10px 11px;
  border:1px solid #264657;
  border-radius:8px;
  background:#0a1f2e;
}

.pine-availability-grid article.complete{
  border-color:rgba(118,229,176,.32);
  background:linear-gradient(145deg,rgba(118,229,176,.055),#0a1f2e);
}

.pine-availability-grid span{
  display:block;
  color:var(--pine-muted-2);
  font-size:14px;
  font-weight:600;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.pine-availability-grid strong{
  display:block;
  margin-top:3px;
  color:#fff;
  font-size:22px;
  font-weight:600;
}

.pine-availability-grid small{
  display:block;
  margin-top:4px;
  color:var(--pine-muted);
  font-size:14px;
  line-height:1.25;
}

@media(max-width:1180px){
  .pine-readiness-list{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:860px){
  .pine-weekend-roster-grid{
    grid-template-columns:1fr;
  }

  .pine-weekend-roster-grid>section+section{
    border-left:0;
    border-top:1px solid var(--pine-line);
  }

  .pine-availability-grid{
    grid-template-columns:1fr;
  }

  .pine-readiness-list{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:560px){
  .pine-panel-actions{
    width:100%;
  }

  .pine-panel-actions .pine-button{
    width:100%;
  }

  .pine-subhead{
    align-items:flex-start;
    flex-direction:column;
  }

  .pine-subhead small{
    max-width:none;
    text-align:left;
  }

  .pine-readiness-list{
    grid-template-columns:1fr;
  }
}


/* Hunt weekend actions */
.pine-context-bar > .pine-weekend-actions{
  display:flex;
  align-items:flex-end;
  align-self:flex-end;
  gap:8px;
  min-width:0;
  margin-right:0;
}

.pine-weekend-actions .pine-button{
  min-height:42px;
}

.pine-button.danger{
  border-color:#8a4c56;
  background:#3b252d;
  color:#ffb0b9;
}

.pine-button.danger:hover{
  border-color:#ff818d;
  background:#522c35;
  color:#fff;
}

@media(max-width:780px){
  .pine-weekend-actions{
    width:100%;
  }

  .pine-weekend-actions .pine-button{
    flex:1;
  }
}


/* =========================================================
   GUIDE DEFAULTS + WEEKEND HUNTERS + HERO ALIGNMENT
   ========================================================= */

.pine-hero{
  padding-left:18px;
}

.pine-hero-brand{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  justify-self:start;
  text-align:left;
}

.pine-hero-brand .pine-kicker,
.pine-hero-brand .pine-subcopy{
  margin-left:0;
  text-align:left;
}

.pine-hero-logo{
  width:min(760px,100%);
  max-height:none;
  margin:0;
  justify-self:start;
  object-position:left center;
}

.weekend-hunter-form{
  grid-template-columns:repeat(2,minmax(0,1fr));
  padding:10px;
  border-bottom:1px solid var(--pine-line);
  background:
    linear-gradient(90deg,rgba(244,108,34,.035),transparent 52%),
    #081a27;
}

.weekend-hunter-form .pine-button{
  align-self:end;
}

.pine-participant-toggle.remove{
  min-width:72px;
  border-color:#7b3f49;
  background:#3b252d;
  color:#ffb0b9;
}

.pine-participant-toggle.remove:hover{
  border-color:#ff818d;
  background:#522c35;
  color:#fff;
}

.pine-guide-directory{
  margin-bottom:14px;
}

.pine-guide-directory .people-form{
  grid-template-columns:repeat(3,minmax(0,1fr)) auto;
}

@media(max-width:1180px){
  .pine-hero{
    grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  }

  .pine-hero-logo{
    width:min(700px,100%);
  }

  .pine-guide-directory .people-form{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:780px){
  .pine-hero{
    padding-left:16px;
  }

  .pine-hero-logo{
    width:100%;
  }

  .weekend-hunter-form,
  .pine-guide-directory .people-form{
    grid-template-columns:1fr;
  }
}

/* Admin directories and weekend planning */
.meal-form{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.pine-admin-weekends,
.pine-admin-directory{
  grid-column:1 / -1;
}

.pine-admin-weekend-actions,
.pine-meal-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}

.pine-admin-weekend-actions{
  margin-left:auto;
}

.pine-admin-weekends .pine-panel-head{
  flex-wrap:wrap;
}

.admin-hunter-form{
  grid-template-columns:repeat(2,minmax(0,1fr)) auto;
}

.pine-admin-directory .people-form{
  grid-template-columns:minmax(0,1fr) auto;
}

.pine-person-row{
  grid-template-columns:minmax(0,1fr) auto auto;
}

.pine-hunter-row{
  grid-template-columns:repeat(2,minmax(0,1fr)) auto auto;
}

.pine-sleeping-roster{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding:16px;
  border-bottom:1px solid var(--pine-line);
}

.pine-sleep-person{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border:1px solid var(--pine-line);
  background:#081a27;
}

.pine-sleep-person.assigned{
  border-left:3px solid #739c71;
}

.pine-sleep-person div{
  display:grid;
  gap:5px;
  min-width:0;
}

.pine-sleep-person strong,
.pine-sleep-person span{
  overflow-wrap:anywhere;
}

.pine-sleep-person small,
.pine-occupant-kind,
.pine-meal-card > small{
  display:block;
  color:var(--pine-muted);
  font-size:10px;
  letter-spacing:1px;
}

.pine-sleep-person span{
  color:var(--pine-muted);
  font-size:11px;
}

.pine-sleep-person .pine-button{
  flex-shrink:0;
}

.pine-menu-day{
  min-width:0;
  border:1px solid var(--pine-line);
  background:#081a27;
}

.pine-menu-day > header{
  padding:16px;
  border-bottom:1px solid var(--pine-line);
  background:rgba(244,108,34,.06);
}

.pine-menu-day > header span{
  color:var(--pine-orange);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:1px;
}

.pine-menu-day > header h3{
  margin:5px 0 0;
}

.pine-menu-day .pine-meal-card{
  margin:10px;
}

.pine-meal-card p{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

.pine-meal-card .pine-meal-actions{
  justify-content:flex-start;
}

.pine-button:disabled{
  opacity:.55;
  cursor:default;
}

@media(max-width:1180px){
  .admin-hunter-form,
  .pine-admin-directory .people-form,
  .pine-person-row,
  .pine-hunter-row,
  .pine-sleeping-roster{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:780px){
  .meal-form,
  .admin-hunter-form,
  .pine-admin-directory .people-form,
  .pine-person-row,
  .pine-hunter-row,
  .pine-sleeping-roster{
    grid-template-columns:1fr;
  }

  .pine-admin-weekend-actions{
    width:100%;
  }

  .pine-admin-weekend-actions .pine-button{
    flex:1;
  }
}

/* Compact people directories */
.pine-admin-directory > .pine-form{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  border-bottom:1px solid var(--pine-line);
}

.pine-admin-directory > .pine-form > label{
  flex:0 1 280px;
  min-width:0;
}

.pine-admin-directory > .pine-form > .pine-button{
  align-self:flex-end;
  min-height:42px;
}

.pine-admin-directory > .pine-admin-list{
  grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));
  align-items:start;
  gap:10px;
}

.pine-admin-directory .pine-person-row{
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:end;
  min-height:0;
  max-width:460px;
}

.pine-admin-directory .pine-person-row > label{
  min-width:0;
}

.pine-admin-directory .pine-person-row .pine-toggle-label{
  min-height:40px;
}

.pine-person-restrictions,
.pine-admin-directory > .pine-admin-list > .pine-overview-empty{
  grid-column:1 / -1;
}

@media(max-width:400px){
  .pine-admin-directory .pine-person-row > label:first-child{
    grid-column:1 / -1;
  }

  .pine-admin-directory .pine-person-row .pine-toggle-label{
    grid-column:1 / 3;
  }

  .pine-admin-directory .pine-person-row > .pine-button{
    grid-column:3;
  }
}
