/* 3.0.2: More menu on pages with their own top bar (Plans, Photos, Contracts). The phone Menu shows on phones only. */
@media (min-width:801px){.mobile-nav{display:none}}
.v3nav .v3more{position:relative}
.v3nav .v3more summary{padding:8px 12px;border-radius:9px;color:var(--muted);font-weight:600;font-size:14.5px;cursor:pointer;list-style:none}
.v3nav .v3more summary::-webkit-details-marker{display:none}
.v3nav .v3more summary:hover{background:var(--bg3);color:var(--txt)}
.v3nav .v3more .menu{display:none;position:absolute;top:40px;right:0;left:auto;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:6px;min-width:240px;max-height:calc(100vh - 90px);overflow-y:auto;box-shadow:0 12px 30px rgba(15,23,42,.18);z-index:90}
.v3nav .v3more[open] .menu{display:block}
.v3nav .v3more .menu a{display:block;padding:9px 12px;color:var(--txt);border-radius:9px}
.v3nav .v3more .menu small,.mobile-nav .mobile-more small{display:block;color:var(--muted);font-size:12px;padding:6px 12px 2px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.mobile-nav .mobile-more{border-top:1px solid var(--line);margin-top:4px;padding-top:4px}
/* Phone and tablet layout shared by Dashboard 3.0 pages. */
@media (max-width:800px){
  html,body{max-width:100%;overflow-x:clip}
  .shell{padding:16px 16px 64px;min-width:0}
  .shell>*{min-width:0}
  .top{padding:8px 16px;gap:8px}
  .brand{margin-right:auto;min-width:0}
  a.brand{min-height:44px}
  .brand img{height:40px}
  .brand small,.who{display:none}
  .nav>a,.v3nav{display:none}
  .nav summary,.mobile-nav summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg3);color:var(--txt);font-weight:700;cursor:pointer;list-style:none}
  .nav summary{font-size:0}
  .nav summary::after{content:'Menu';font-size:14px}
  .nav summary::-webkit-details-marker,.mobile-nav summary::-webkit-details-marker{display:none}
  .nav details,.mobile-nav{position:relative;margin-left:auto}
  .nav .menu,.mobile-nav>div{position:absolute;top:48px;left:auto;right:0;min-width:min(280px,calc(100vw - 32px));max-height:calc(100dvh - 110px);overflow-y:auto;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 12px 30px rgba(15,23,42,.18);z-index:90}
  .mobile-nav>div{display:none}
  .mobile-nav[open]>div{display:block}
  .mobile-nav a,.mobile-links a{display:flex;align-items:center;min-height:44px;padding:9px 12px;border-radius:9px;color:var(--txt);text-decoration:none;font-weight:600}
  .mobile-links{border-bottom:1px solid var(--line);margin-bottom:4px}
  .search{order:9;flex-basis:100%;min-width:0;max-width:none;margin:0}
  .search input{min-height:44px}
  .forgot{min-height:44px}
  a.sp,.stay a{display:inline-flex;align-items:center;min-height:44px}
  .tools input[type=text],.tools textarea,.tools select,.checks label{min-height:44px}
  .btn,.btn.small,.chip,.tabs button,.tabs a,button.tile,.inp,.tool,.sh,.back,.x{min-height:44px}
  .grid,.jobs,.projects,.res,.list,.rep,.ov,.two{grid-template-columns:minmax(0,1fr)}
  .card,.tile,.job,.stay,.rc,.sheet,.mcard{min-width:0;max-width:100%}
  img,svg,canvas,iframe{max-width:100%}
  table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .card:has(>table){overflow-x:auto}
  .modal,.ov,.back{padding:16px;max-width:100vw}
  .modal .mcard,.modal .card,.ov .sheet,.back .sheet{width:100%;max-width:100%;max-height:calc(100dvh - 32px);overflow-y:auto}
  .form,.kv{grid-template-columns:minmax(0,1fr)}
  .form>*{min-width:0}
  .form .wide{grid-column:1}
  .inp,input,select,textarea{max-width:100%}
  .bar,.head,.ctl,.jh,.tools{min-width:0}
  .selbar{left:16px;right:16px;bottom:16px;transform:none;flex-wrap:wrap;max-width:calc(100vw - 32px)}
  .rep,.ov{grid-template-columns:minmax(0,1fr)}
  .tabs{flex-wrap:wrap}
  .tabs a{min-width:0}
  .frame{min-height:420px;height:65dvh}
  .doc{margin:16px;background:#fff;padding:20px;max-width:calc(100vw - 32px)}
  .doc .grid{grid-template-columns:minmax(0,1fr)}
  .tools textarea{width:100%}
  .tools label{min-width:0;flex:1 1 160px}
  .sp{margin-left:0;flex-wrap:wrap}
  .layout{min-width:0}
  .layout .main{min-width:0}
  .layout .side.show,.layout .panel.show{max-width:calc(100vw - 32px)}
}
@media (max-width:440px){
  .tabs:has(>a){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .tabs a{font-size:12px;text-align:center;padding:4px}
  .tabs a i{font-size:24px}
  .head h1,.jh h1{font-size:22px}
  .tiles,.today,.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tile b,.kpi b{font-size:20px}
}
@media print{.mobile-nav{display:none!important}.doc{max-width:none;margin:0;padding:0}}
