
:root{
  --drv-blue:#0b5793;
  --drv-yellow:#ffd000;
  --drv-white:#ffffff;
  --drv-gray:#f4f6f8;
  --drv-text:#0b1b2b;
}

.drvapp *{box-sizing:border-box}
.drvapp{font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color:var(--drv-text);}
.drvapp a{color:var(--drv-blue)}
.drvapp-header{background:var(--drv-blue); color:var(--drv-white); padding:14px 16px; border-radius:16px;}
.drvapp-header h2{margin:0; font-size:18px; line-height:1.2;}
.drvapp-header small{opacity:.9}

.drvapp-tabs{display:flex; gap:8px; overflow-x:auto; padding:10px 2px; margin:10px 0;}
.drvapp-tabbtn{flex:0 0 auto; border:1px solid rgba(11,87,147,.2); background:var(--drv-white); color:var(--drv-blue); padding:10px 12px; border-radius:999px; font-weight:600; font-size:13px;}
.drvapp-tabbtn.active{background:var(--drv-yellow); border-color:var(--drv-yellow); color:#000;}

.drvapp-card{background:var(--drv-white); border:1px solid rgba(0,0,0,.08); border-radius:16px; padding:14px; margin:10px 0; box-shadow:0 6px 18px rgba(0,0,0,.06);}
.drvapp-card h3{margin:0 0 10px; font-size:16px;}

.drvapp-list{display:flex; flex-direction:column; gap:10px;}
.drvapp-job{border:1px solid rgba(0,0,0,.08); border-radius:14px; padding:12px; background:var(--drv-gray);}
.drvapp-job .meta{display:flex; gap:10px; flex-wrap:wrap; font-size:12px; opacity:.9}
.drvapp-job strong{font-size:14px;}

.drvapp-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; border:none; border-radius:12px; padding:12px 14px; font-weight:700; cursor:pointer;}
.drvapp-btn.primary{background:var(--drv-blue); color:var(--drv-white);} 
.drvapp-btn.warn{background:var(--drv-yellow); color:#000;} 
.drvapp-btn.ghost{background:transparent; border:1px solid rgba(11,87,147,.3); color:var(--drv-blue);} 
.drvapp-btn-row{display:flex; gap:10px; flex-wrap:wrap; margin-top:10px;}

.drvapp-form label{display:block; font-weight:600; font-size:13px; margin-bottom:8px}
.drvapp-form input, .drvapp-form select, .drvapp-form textarea{width:100%; padding:10px 12px; border-radius:12px; border:1px solid rgba(0,0,0,.18); background:#fff; font-size:14px;}
.drvapp-form textarea{min-height:80px}
.drvapp-grid{display:grid; grid-template-columns:1fr; gap:10px;}

.drvapp-alert{background:#fff3cd; border:1px solid #ffe69c; padding:10px 12px; border-radius:12px; margin:10px 0;}
.drvapp-success{background:#d1e7dd; border:1px solid #a3cfbb; padding:10px 12px; border-radius:12px; margin:10px 0;}

.drvapp-modal{position:fixed; inset:0; background:rgba(0,0,0,.6); display:none; align-items:flex-end; z-index:99999;}
.drvapp-modal.open{display:flex;}
.drvapp-modal .sheet{background:#fff; width:100%; border-radius:20px 20px 0 0; padding:14px; max-height:85vh; overflow:auto;}
.drvapp-modal .sheet h4{margin:0 0 10px}

.drvapp-sig{border:2px dashed rgba(11,87,147,.35); border-radius:14px; background:#fff; width:100%; height:160px; touch-action:none;}

/* Fixed feedback toast (snackbar) */
.drvapp-toast{
  position:fixed;
  left:16px;
  right:16px;
  bottom:18px;
  z-index:100000;
  border-radius:14px;
  padding:12px 14px;
  font-weight:700;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
  opacity:0;
  transform:translateY(10px);
  transition:opacity .18s ease, transform .18s ease;
}
.drvapp-toast.show{opacity:1; transform:translateY(0);}
.drvapp-toast.ok{background:#d1e7dd; border:1px solid #a3cfbb; color:#0b1b2b;}
.drvapp-toast.err{background:#fff3cd; border:1px solid #ffe69c; color:#0b1b2b;}

@media (min-width: 768px){
  .drvapp-toast{left:50%; right:auto; width:520px; transform:translate(-50%, 10px);} 
  .drvapp-toast.show{transform:translate(-50%, 0);} 
}

@media (min-width: 768px){
  .drvapp-grid{grid-template-columns:1fr 1fr;}
  .drvapp-header h2{font-size:20px}
  .drvapp-modal{align-items:center; justify-content:center; padding:20px}
  .drvapp-modal .sheet{max-width:680px; border-radius:20px;}
}


/* PWA install helper */
.drvapp-install{margin-top:10px;display:flex;flex-direction:column;gap:6px;}
.drvapp-install .drvapp-install-hint small{opacity:.85;}
