:root{
    --desk:#e6e3de; --panel:#8d8a85; --panel-hi:#a5a29c; --panel-lo:#6e6b67;
    --sub:#7e7b76; --sub-hi:#93908a; --ink:#26251f; --engrave:#514e49;
    --cap:#d7d4ce; --cap-hi:#f2efe9; --capdark:#2a2926; --capdark-hi:#3d3b37;
    --orange:#f2490d; --yellow:#e4da1e; --line:rgba(0,0,0,.26);
  }
  :root[data-theme="dark"]{
    --desk:#121211; --panel:#3a3835; --panel-hi:#4a4844; --panel-lo:#2a2826;
    --sub:#312f2d; --sub-hi:#3d3b38; --ink:#eceae4; --engrave:#a49f97;
    --cap:#6d6a65; --cap-hi:#858077; --capdark:#1d1c1a; --capdark-hi:#2c2a27;
    --line:rgba(0,0,0,.6);
  }
  body{margin:0;background:var(--desk);color:var(--ink);}
  a{color:var(--orange);text-decoration:none;} a:hover{color:var(--yellow);}
  input,select,button,textarea{font:inherit;color:inherit;}
  ::selection{background:var(--orange);color:#fff;}
  @keyframes blink{0%,45%{opacity:1}50%,100%{opacity:.25}}
  @keyframes toastIn{0%{opacity:0;transform:translateX(26px) scale(.96)}100%{opacity:1;transform:translateX(0) scale(1)}}
  @keyframes toastPulse{0%,100%{opacity:1}50%{opacity:.45}}
  @keyframes toastLife{0%{opacity:0;transform:translateX(18px)}12%{opacity:1;transform:translateX(0)}84%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(0)}}
  .tiles3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  @media (max-width:760px){.tiles3{grid-template-columns:1fr}}
  .toast-card{animation:toastLife 7s ease-in-out both}

  /* ── form controls · chevrons + calendar glyph ── */
  .ctl-select,.ctl-date{position:relative;display:block;width:100%;}
  .ctl-select select{
    -webkit-appearance:none;-moz-appearance:none;appearance:none;
    padding-right:38px!important;
    transition:box-shadow .18s,filter .18s;
  }
  .ctl-select::before{
    content:"";position:absolute;right:8px;top:50%;width:23px;height:23px;
    transform:translateY(-50%);border-radius:5px;pointer-events:none;z-index:2;
    background:linear-gradient(180deg,rgba(255,255,255,.20),rgba(0,0,0,.10));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.24),inset 0 -1px 0 rgba(0,0,0,.28),0 1px 2px rgba(0,0,0,.18);
    transition:background .18s,box-shadow .18s;
  }
  .ctl-select::after{
    content:"";position:absolute;right:16px;top:50%;width:7px;height:7px;
    border-right:2px solid var(--engrave);border-bottom:2px solid var(--engrave);
    transform:translateY(-66%) rotate(45deg);pointer-events:none;z-index:3;
    transition:border-color .18s,filter .18s;
  }
  .ctl-select:hover::before{background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(0,0,0,.06));}
  .ctl-select:hover::after{border-color:var(--ink);}
  .ctl-select:focus-within::before{
    background:linear-gradient(180deg,rgba(242,73,13,.30),rgba(0,0,0,.12));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.26),inset 0 -1px 0 rgba(0,0,0,.30),0 0 8px rgba(242,73,13,.35);
  }
  .ctl-select:focus-within::after{border-color:var(--orange);filter:drop-shadow(0 0 4px rgba(242,73,13,.75));}

  .ctl-date input[type="datetime-local"]{
    position:relative;color-scheme:light;padding-right:42px!important;
  }
  :root[data-theme="dark"] .ctl-date input[type="datetime-local"]{color-scheme:dark;}

  @supports selector(::-webkit-calendar-picker-indicator){
    .ctl-date::before{
      content:"";position:absolute;right:8px;top:50%;width:24px;height:24px;
      transform:translateY(-50%);border-radius:5px;pointer-events:none;z-index:2;
      background:linear-gradient(180deg,rgba(255,255,255,.20),rgba(0,0,0,.10));
      box-shadow:inset 0 1px 0 rgba(255,255,255,.24),inset 0 -1px 0 rgba(0,0,0,.28),0 1px 2px rgba(0,0,0,.18);
      transition:background .18s,box-shadow .18s;
    }
    .ctl-date::after{
      content:"";position:absolute;right:13px;top:50%;width:15px;height:15px;
      transform:translateY(-50%);pointer-events:none;z-index:3;
      background:var(--engrave);
      -webkit-mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iMy4yIiB5PSI1IiB3aWR0aD0iMTcuNiIgaGVpZ2h0PSIxNS44IiByeD0iMi40Ii8+PHBhdGggZD0iTTE2IDMuMnYzLjZNOCAzLjJ2My42TTMuMiAxMC42aDE3LjYiLz48cGF0aCBkPSJNNy42IDE0LjRoMi4yTTE0LjIgMTQuNGgyLjJNNy42IDE3LjZoMi4yIi8+PC9zdmc+") center/contain no-repeat;
      mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjkiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iMy4yIiB5PSI1IiB3aWR0aD0iMTcuNiIgaGVpZ2h0PSIxNS44IiByeD0iMi40Ii8+PHBhdGggZD0iTTE2IDMuMnYzLjZNOCAzLjJ2My42TTMuMiAxMC42aDE3LjYiLz48cGF0aCBkPSJNNy42IDE0LjRoMi4yTTE0LjIgMTQuNGgyLjJNNy42IDE3LjZoMi4yIi8+PC9zdmc+") center/contain no-repeat;
      transition:background .18s,filter .18s;
    }
    .ctl-date:hover::after{background:var(--ink);}
    .ctl-date:focus-within::after{background:var(--orange);filter:drop-shadow(0 0 4px rgba(242,73,13,.75));}
    .ctl-date:focus-within::before{
      background:linear-gradient(180deg,rgba(242,73,13,.30),rgba(0,0,0,.12));
      box-shadow:inset 0 1px 0 rgba(255,255,255,.26),inset 0 -1px 0 rgba(0,0,0,.30),0 0 8px rgba(242,73,13,.35);
    }
    .ctl-date input[type="datetime-local"]::-webkit-calendar-picker-indicator{
      position:absolute;right:0;top:0;width:46px;height:100%;
      margin:0;padding:0;opacity:0;cursor:pointer;
    }
  }

  .cal-nav{display:grid;place-items:center;color:#2b2a28;transition:filter .15s,color .15s;}
  .cal-nav svg{display:block;width:16px;height:16px;}
  .cal-nav:hover{color:var(--orange);filter:brightness(1.06);}
