/* style.css - global styles for GRAVS portal */
:root{
  --blue:#0b6ef5;
  --muted:#f0f2f5;
  --card:#ffffff;
  --accent:#cc6600;
  --text:#222;
  --radius:10px;
  --shadow: 0 6px 18px rgba(10,10,10,0.08);
  font-family: 'Roboto', sans-serif;
}

*{box-sizing:border-box}
body{
  margin:0;
  background:var(--muted);
  color:var(--text);
  font-size:15px;
  line-height:1.45;
}

/* top bar */
.top-bar{
  background:#ffefdd;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 18px;
  font-size:13px;
}

/* header */
.header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:16px 20px;
  background:#fff;
  border-bottom:1px solid #e6e6e6;
}
.branding h1{
  margin:0;
  color:var(--accent);
  font-size:26px;
}
.branding .tagline{margin:4px 0 0 0;color:#666}
.logo{height:68px;}

/* nav */
.nav-bar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 20px;
  gap:12px;
}
.nav-tabs a{margin-right:14px;text-decoration:none;color:#444;font-weight:600}
.nav-actions{display:flex;align-items:center;gap:12px}
.search-box{display:flex;gap:8px}
.search-box input{padding:8px;border:1px solid #ddd;border-radius:6px;width:180px}
.search-box button{padding:8px 12px;border-radius:6px;border:none;background:var(--accent);color:#fff;cursor:pointer}

/* portal button just below search box area (styled to sit near search) */
.portal-button-wrap{margin-left:8px;}
.btn{
  display:inline-block;
  background:var(--blue);
  color:white;
  padding:8px 14px;
  border-radius:8px;
  text-decoration:none;
  font-weight:700;
  box-shadow: 0 6px 14px rgba(11,110,245,0.12);
  border:none;
  cursor:pointer;
}
.btn.large{padding:18px 36px;font-size:18px;border-radius:12px}
.btn.small{padding:6px 8px;font-size:13px}
.btn-link{background:transparent;color:var(--blue);text-decoration:underline;padding:0}

/* main content */
.content{padding:22px}
.ceo-message{background:var(--card);padding:18px;border-radius:var(--radius);box-shadow:var(--shadow)}
.ceo-content{display:flex;gap:14px;align-items:flex-start}
.ceo-img{width:160px;height:auto;border-radius:8px;object-fit:cover}
.image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:18px}
.image-grid img{width:100%;height:120px;object-fit:cover;border-radius:8px}
.network{margin-top:20px;background:transparent;padding:8px}

/* portal pages */
.portal-header{background:#fff;padding:18px 20px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}
.portal-main{padding:28px}
.portal-options{display:flex;gap:18px;justify-content:center;align-items:center;margin:28px 0}
.hint{text-align:center;color:#666}

/* auth pages */
.auth-page{display:flex;min-height:70vh;align-items:center;justify-content:center;padding:20px}
.auth-card{width:100%;max-width:420px;background:#fff;padding:18px;border-radius:10px;box-shadow:var(--shadow)}
.auth-card h2{margin-top:0}
.auth-card label{display:block;margin:10px 0}
.auth-card input[type="text"], .auth-card input[type="password"], .auth-card input[type="email"]{
  width:100%;padding:9px;border:1px solid #ddd;border-radius:6px
}
.form-actions{display:flex;gap:10px;align-items:center;margin-top:12px}
.form-msg{color:#b00;margin-top:8px}

/* admin and user main layout */
.admin-main{display:flex;gap:20px;padding:20px;flex-direction:column}
.admin-main .card{background:#fff;padding:16px;border-radius:10px;box-shadow:var(--shadow)}
.create-user{max-width:700px}
.user-list table{width:100%;border-collapse:collapse}
.user-list th, .user-list td{padding:10px;border-bottom:1px solid #f1f1f1;text-align:left}
.user-list th{background:#fafafa}

/* user dashboard */
.portal-header .user-controls{display:flex;gap:12px;align-items:center}
.user-main{display:flex;gap:18px;padding:20px;flex-wrap:wrap}
.profile-panel{width:280px;min-width:240px}
.profile-panel label, .work-panel label{display:block;margin:10px 0}
.profile-panel input, .profile-panel textarea, .work-panel input, .work-panel textarea, .work-panel select{width:100%;padding:9px;border-radius:6px;border:1px solid #ddd}
.profile-thumb{width:120px;height:120px;object-fit:cover;border-radius:8px;display:block;margin:8px 0}
.card{background:#fff;border-radius:10px;padding:14px;box-shadow:var(--shadow)}
.work-panel{flex:1;min-width:300px}
.log-thumb{width:80px;height:70px;object-fit:cover;border-radius:6px;margin:6px}

/* saved logs */
.log-card{border:1px solid #f1f1f1;padding:10px;border-radius:8px;margin-bottom:10px;background:#fff}
.log-header{display:flex;justify-content:space-between;gap:12px}
.log-detail{margin-top:8px;color:#333}
.log-pics{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px}

/* footer */
.footer{padding:18px;text-align:center;color:#777;margin-top:20px}

/* responsive adjustments */
@media (max-width:880px){
  .user-main{flex-direction:column}
  .profile-panel{width:100%}
}
