.proto-bar{
  position:fixed;bottom:0;left:0;right:0;z-index:999;
  background:#1F3654;color:#CBD3DE;
  font-family:'IBM Plex Sans',sans-serif;font-size:12px;
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 16px;gap:12px;flex-wrap:wrap;
  border-top:1px solid #2B445E;
  box-shadow:0 -4px 20px rgba(0,0,0,.15);
}
.proto-bar a{color:#E9E4D6;text-decoration:none;padding:4px 10px;border-radius:5px;white-space:nowrap;}
.proto-bar a:hover{background:#2B445E;}
.proto-bar a.active{background:#2B445E;color:#fff;font-weight:500;}
.proto-bar .proto-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:#8DA0B5;flex-shrink:0;}
.proto-bar .proto-links{display:flex;gap:2px;flex-wrap:wrap;align-items:center;}
.proto-bar .proto-home{margin-right:4px;border:1px solid #3A5470;}
.proto-bar .proto-logout{margin-left:4px;border:1px solid #A23B2E;color:#F3DCD6;flex-shrink:0;}
.proto-bar .proto-logout:hover{background:#A23B2E;color:#fff;}
body{padding-bottom:44px;}
body.no-proto-pad{padding-bottom:0;}

.toast{
  position:fixed;bottom:56px;left:50%;transform:translateX(-50%) translateY(20px);
  background:#1F3654;color:#fff;padding:12px 20px;border-radius:10px;
  font-family:'IBM Plex Sans',sans-serif;font-size:13px;
  opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:1000;
  max-width:90vw;text-align:center;line-height:1.5;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

.modal-overlay{
  position:fixed;inset:0;background:rgba(31,54,84,.45);z-index:1001;
  display:none;align-items:center;justify-content:center;padding:20px;
}
.modal-overlay.open{display:flex;}
.modal-box{
  background:#F7F4EC;border-radius:14px;padding:24px;max-width:380px;width:100%;
  font-family:'IBM Plex Sans',sans-serif;color:#1F3654;
}
.modal-box h3{font-family:'Fraunces',serif;font-size:17px;margin-bottom:10px;}
.modal-box p{font-size:13px;color:#3A5470;line-height:1.55;margin-bottom:18px;}
.modal-box .field{margin-bottom:12px;}
.modal-box label{display:block;font-size:11.5px;color:#5C6B7A;margin-bottom:4px;}
.modal-box select,.modal-box textarea{
  width:100%;font-family:inherit;font-size:13px;padding:9px 11px;
  border:1px solid #D9D2BE;border-radius:7px;background:#fff;
}
.modal-box textarea{resize:vertical;min-height:72px;}
.modal-actions{display:flex;gap:10px;margin-top:16px;}
.modal-actions button{
  flex:1;font-family:inherit;font-size:13px;padding:11px;border-radius:8px;cursor:pointer;border:none;
}
.modal-actions .primary{background:#1F3654;color:#fff;font-weight:500;}
.modal-actions .ghost{background:transparent;color:#5C6B7A;border:1px solid #D9D2BE;}
