:root{
  --accent:#1a9463;--accent-dark:#0f6e49;--accent-light:#5fd8a4;
  --glass:rgba(255,255,255,.62);--glass-border:rgba(255,255,255,.55);
  --bg-1:#e4f7ee;--bg-2:#cdeee0;--ink:#16281f;--muted:#5b6d63;
}
*{box-sizing:border-box}
body{
  margin:0;color:var(--ink);font:16px/1.45 "Segoe UI",system-ui,sans-serif;
  background:
    radial-gradient(900px 500px at 8% -10%,#bdf0d6 0%,transparent 60%),
    radial-gradient(900px 600px at 110% 10%,#a7e6c7 0%,transparent 55%),
    linear-gradient(180deg,var(--bg-1),var(--bg-2) 60%,#eafaf2);
  background-attachment:fixed;min-height:100vh;
}
main{max-width:1100px;margin:28px auto;padding:0 20px}
header{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:14px 20px;margin-bottom:6px;border-radius:16px;
  background:var(--glass);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);
  border:1px solid var(--glass-border);box-shadow:0 8px 24px rgba(15,60,40,.08);
}
header .brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--ink);font-size:1.05rem}
.team-logo{height:36px;width:36px;object-fit:contain;border-radius:9px}
.team-logo-preview{height:64px;width:64px;object-fit:contain;border-radius:12px;margin-bottom:6px}
.admin-nav{font-size:.92rem;color:var(--muted)}
a{color:var(--accent-dark);text-decoration:none}
a:hover{text-decoration:underline}
h1{font-size:1.7rem;margin:22px 0 6px;font-weight:700;color:var(--ink)}
h2{font-size:1.15rem;margin:26px 0 10px;color:var(--ink)}
.card{
  background:var(--glass);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);
  border:1px solid var(--glass-border);border-radius:20px;padding:28px;
  box-shadow:0 12px 40px rgba(15,60,40,.12),inset 0 1px 0 rgba(255,255,255,.6);margin-top:16px;
}
.small{max-width:420px}
fieldset{
  border:1px solid rgba(255,255,255,.7);border-radius:14px;margin:0 0 22px;padding:20px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
  background:rgba(255,255,255,.35);
}
fieldset[hidden],label[hidden],div[hidden]{display:none}
legend{font-weight:700;color:var(--accent-dark);padding:0 8px;font-size:.95rem;letter-spacing:.2px}
.hint{margin:0 0 4px;color:var(--muted);font-size:.86rem;line-height:1.4}
label{display:grid;gap:6px;font-size:.88rem;font-weight:600;color:#33443a}
.wide{grid-column:1/-1}
.docs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.file-tile{position:relative;display:block;border:2px dashed rgba(20,60,45,.28);border-radius:16px;background:rgba(255,255,255,.4);overflow:hidden;cursor:pointer;min-height:96px;transition:border-color .15s,background .15s}
.file-tile:active{background:rgba(255,255,255,.6)}
.file-tile input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;padding:0;border:0}
.file-tile-body{display:flex;align-items:center;gap:14px;padding:18px;min-height:96px}
.file-tile-icon{font-size:1.8rem;line-height:1;flex:none}
.file-tile-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.file-tile-text strong{font-size:.9rem;color:var(--ink);font-weight:700}
.file-tile-status{font-size:.8rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-tile-preview{display:block;width:100%;max-height:180px;object-fit:cover}
.file-tile.has-file{border-style:solid;border-color:var(--accent);background:rgba(255,255,255,.55)}
.file-tile.has-file .file-tile-icon{color:var(--accent)}
.file-tile.has-file .file-tile-status{color:var(--accent-dark);font-weight:600}
@media(hover:hover){.file-tile:hover{border-color:var(--accent)}}
input,select,textarea,button{font:inherit;padding:11px 12px;border:1px solid rgba(20,60,45,.18);border-radius:10px;background:rgba(255,255,255,.75);color:var(--ink)}
input::placeholder,textarea::placeholder{color:#8a9a90}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(26,148,99,.22);background:#fff}
input[type=file]{padding:9px 10px;cursor:pointer}
input[type=color]{padding:3px;height:42px}
button,.button{
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;border:0;cursor:pointer;
  padding:12px 20px;border-radius:12px;font-weight:600;display:inline-block;
  box-shadow:0 6px 16px rgba(15,110,73,.3);transition:transform .12s ease,box-shadow .12s ease;
}
button:hover,.button:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,110,73,.38);text-decoration:none}
button:active,.button:active{transform:translateY(0)}
.danger{background:linear-gradient(135deg,#c0394a,#8a2534);box-shadow:0 6px 16px rgba(140,40,50,.3)}
.inline{display:inline;margin-left:8px}
.inline button{padding:6px 11px;font-size:.8rem;border-radius:8px}
.filter-bar{display:flex;align-items:end;gap:14px;margin:14px 0}
.filter-bar label{font-size:.85rem}
.notice{padding:14px 16px;background:rgba(255,245,217,.85);border-left:4px solid #d48b00;border-radius:10px;backdrop-filter:blur(8px)}
.error{background:rgba(255,225,225,.9);padding:14px 16px;border-radius:10px;border-left:4px solid #c0394a}
.ok{background:rgba(222,247,228,.9);padding:14px 16px;border-radius:10px;border-left:4px solid var(--accent)}
table{border-collapse:separate;border-spacing:0;width:100%;background:var(--glass);backdrop-filter:blur(16px);border-radius:14px;overflow:hidden;border:1px solid var(--glass-border);box-shadow:0 8px 24px rgba(15,60,40,.08)}
th{text-align:left;padding:13px;background:rgba(26,148,99,.12);font-size:.82rem;text-transform:uppercase;letter-spacing:.4px;color:var(--accent-dark)}
td{text-align:left;padding:13px;border-top:1px solid rgba(20,60,45,.08);vertical-align:middle}
.status{padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:700}
.pending{background:#fff1c9;color:#8a6400}
.approved{background:#d3f4de;color:#0f6e49}
.rejected{background:#ffd8d8;color:#8a2534}
.archived{background:#e2e5e8;color:#4a545c}
.row-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
dl{display:grid;grid-template-columns:170px 1fr;gap:2px 12px;background:transparent;padding:0;border-radius:0;border:0}
dt{font-weight:700;padding:6px 0;color:var(--accent-dark);font-size:.85rem;min-width:0}
dd{margin:0;padding:6px 0;border-bottom:1px solid rgba(20,60,45,.08);min-width:0;overflow-wrap:anywhere}
.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-top:16px}
.detail-grid .card{margin-top:0;min-width:0}
.detail-grid h2{margin:0 0 12px;font-size:1.05rem}
.detail-grid form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.inline-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:14px 0}
.notes-form{display:grid;gap:10px;margin-bottom:14px}
.notes-list{list-style:none;padding:0;margin:0;display:grid;gap:10px;max-height:280px;overflow-y:auto}
.notes-list li{background:rgba(255,255,255,.5);border-radius:10px;padding:10px 12px}
.notes-list li p{margin:0 0 4px;font-size:.9rem}
.notes-list li small{color:var(--muted);font-size:.76rem}
.notes-list li.empty{color:var(--muted);background:transparent;padding:0}
.docs-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;background:var(--glass);backdrop-filter:blur(16px);padding:20px;border-radius:14px;border:1px solid var(--glass-border)}
.doc-thumb{display:flex;flex-direction:column;gap:6px;color:var(--ink);font-size:.82rem;text-align:center}
.doc-thumb img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px;border:1px solid rgba(20,60,45,.15)}
.team-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.team-card{padding:0;overflow:hidden}
.team-card a{display:flex;align-items:center;gap:12px;padding:18px;color:var(--ink);font-weight:700}
@media(max-width:700px){
  fieldset{grid-template-columns:1fr}
  .docs-grid{grid-template-columns:1fr}
  header{gap:10px;align-items:flex-start;flex-direction:column;border-radius:14px}
  table{font-size:.84rem}
  dl{grid-template-columns:1fr}
  .filter-bar{flex-direction:column;align-items:stretch}
  .card{padding:20px;border-radius:16px}
}
