:root {
  --blue-950: #062f46;
  --blue-900: #074a6d;
  --blue-800: #07577f;
  --blue-700: #126e98;
  --blue-100: #e7f1f5;
  --ink: #17212b;
  --muted: #74808b;
  --line: #dde1e3;
  --paper: #f4f1e9;
  --sand: #e7e1d4;
  --sand-soft: #faf8f2;
  --white: #fff;
  --green: #00e52b;
  --green-dark: #009f35;
  --green-soft: #e5f9e8;
  --orange: #f47721;
  --orange-soft: #fff0e6;
  --danger: #c84e45;
  --danger-soft: #fff0ef;
  --shadow: 0 22px 65px rgba(5, 47, 70, .13);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
body, button, input, textarea, select { font: inherit; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
[hidden] { display: none !important; }

.brand {
  --brand-width: 210px;
  display: inline-flex;
  align-items: center;
  color: var(--white);
  line-height: 1;
}
.brand__logo-frame {
  width: var(--brand-width);
  aspect-ratio: 1858 / 678;
  display: block;
  overflow: hidden;
}
.brand__logo {
  width: 103.34%;
  height: auto;
  display: block;
  transform: translate(-1.45%, -15.37%);
}
.brand--compact { --brand-width: 185px; }
.brand--on-light .brand__logo-frame { aspect-ratio: 1856 / 680; }
.brand--on-light .brand__logo {
  width: 103.45%;
  transform: translate(0, -34.63%);
}
.auth-brand > .brand { --brand-width: 245px; }
.auth-card > .brand { --brand-width: 190px; }
.upload-top > .brand { --brand-width: 210px; }

.eyebrow {
  color: var(--blue-700);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .14em;
}
.btn {
  min-height: 46px;
  padding: 11px 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 750;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn:disabled { opacity: .65; cursor: wait; transform: none; }
.btn--primary {
  color: #062f20;
  background: var(--green);
  box-shadow: 0 9px 22px rgba(0, 229, 43, .18);
}
.btn--primary:hover { background: #19f141; }
.btn--secondary { background: #fff; border-color: var(--line); color: var(--ink); }
.btn--full { width: 100%; }
.icon-btn {
  width: 36px;
  height: 36px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: 7px;
  background: var(--blue-100);
  color: var(--blue-800);
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}
.icon-btn:hover, .icon-btn.is-copied { color: #fff; background: var(--blue-800); }
.icon-btn--danger { color: var(--danger); background: var(--danger-soft); }

/* Authentication */
.auth-page {
  min-height: 100vh;
  color: #fff;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    var(--blue-950);
  background-size: 48px 48px;
}
.auth-wrap {
  width: min(1080px, calc(100% - 48px));
  min-height: 100vh;
  margin: auto;
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 100px;
  align-items: center;
  padding: 60px 0;
}
.auth-wrap--center { display: flex; justify-content: center; }
.auth-wrap--center .auth-card { width: min(520px, 100%); }
.auth-brand { min-height: 550px; display: flex; flex-direction: column; justify-content: space-between; }
.auth-brand__copy { margin: auto 0; }
.auth-brand__copy .eyebrow { color: #81c7e2; }
.auth-brand__copy h1 {
  margin: 20px 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(43px, 4.2vw, 62px);
  line-height: 1.02;
  font-weight: 500;
  letter-spacing: -.045em;
}
.auth-brand__copy h1 em { color: var(--green); font-weight: 500; }
.auth-brand__copy p { max-width: 470px; color: #b4c5cf; font-size: 14px; line-height: 1.75; }
.auth-brand__security {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 12px;
  align-items: center;
  padding-top: 23px;
  border-top: 1px solid rgba(255,255,255,.12);
}
.auth-brand__security > span {
  width: 36px; height: 36px; display: grid; place-items: center;
  border-radius: 50%; color: var(--green); background: rgba(0,229,43,.11);
}
.auth-brand__security div { display: flex; flex-direction: column; gap: 3px; }
.auth-brand__security strong { font-size: 13px; }
.auth-brand__security small { color: #9cb0bc; font-size: 11px; }
.auth-card {
  color: var(--ink);
  background: #fff;
  border-radius: 15px;
  padding: 36px 40px 38px;
  box-shadow: 0 35px 85px rgba(0,0,0,.28);
}
.auth-card > .brand { margin-bottom: 30px; padding: 13px 16px; border-radius: 10px; background: var(--blue-900); }
.auth-card > .brand--on-light { padding: 0; background: transparent; }
.auth-card__head { margin-bottom: 25px; }
.auth-card__head > span { color: var(--blue-700); font-size: 11px; font-weight: 850; letter-spacing: .14em; }
.auth-card__head h2 { margin: 8px 0 7px; font-family: Georgia, serif; font-size: 29px; font-weight: 500; }
.auth-card__head p { margin: 0; color: #64717b; font-size: 13px; line-height: 1.6; }
.auth-note {
  margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line);
  display: flex; justify-content: center; align-items: center; gap: 8px; color: #64717b; font-size: 11px;
}
.auth-note span { color: var(--green-dark); }
.auth-help { text-align: center; color: #737d84; font-size: 11px; margin: 18px 0 0; }

/* Forms */
.form-stack { display: flex; flex-direction: column; gap: 16px; }
.form-stack label, .modal label, .modal legend {
  display: flex;
  flex-direction: column;
  gap: 7px;
  color: #56636d;
  font-size: 12px;
  font-weight: 800;
}
label small, legend small { color: #98a0a7; font-weight: 500; }
input, textarea, select {
  width: 100%;
  min-height: 46px;
  border: 1px solid #d8dde0;
  border-radius: 7px;
  padding: 11px 13px;
  color: var(--ink);
  background: #fff;
  outline: none;
}
textarea { resize: vertical; }
input:focus, textarea:focus, select:focus {
  border-color: var(--blue-700);
  box-shadow: 0 0 0 3px rgba(18, 110, 152, .12);
}
input:disabled { color: #7d878e; background: #f3f4f4; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; align-items: end; }
.form-error, .form-success {
  margin: 0 0 18px;
  padding: 11px 13px;
  border: 1px solid #f3c7c3;
  border-radius: 8px;
  color: var(--danger);
  background: var(--danger-soft);
  font-size: 13px;
  line-height: 1.5;
}
.form-success { color: #188347; border-color: #bfe7cb; background: var(--green-soft); }
.check-label { min-height: 46px; flex-direction: row !important; align-items: center; padding-bottom: 2px; cursor: pointer; }
.check-label input { position: absolute; opacity: 0; width: 1px; }
.check-label span {
  width: 31px; height: 19px; padding-left: 2px; display: flex; align-items: center;
  border-radius: 20px; color: transparent; background: #c9ced1; font-size: 8px; transition: .2s;
}
.check-label span::after { content: ""; width: 15px; height: 15px; border-radius: 50%; background: #fff; transition: transform .2s; }
.check-label input:checked + span { color: transparent; background: var(--green-dark); }
.check-label input:checked + span::after { transform: translateX(12px); }

/* Administration shell */
.admin-page { background: #f2f1ec; }
.admin-shell { min-height: 100vh; padding-left: 255px; }
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 30;
  width: 255px;
  padding: 30px 19px 19px;
  display: flex;
  flex-direction: column;
  color: #a8bdc8;
  background: var(--blue-950);
}
.sidebar__brand { padding-left: 6px; margin-bottom: 42px; }
.sidebar__nav { display: flex; flex-direction: column; gap: 5px; }
.sidebar__nav a, .sidebar__bottom > a {
  min-height: 47px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  gap: 13px;
  border-radius: 7px;
  color: #a8bdc8;
  font-size: 14px;
  font-weight: 650;
}
.sidebar__nav a span, .sidebar__bottom > a span { width: 22px; text-align: center; font-size: 17px; }
.sidebar__nav a:hover, .sidebar__nav a.is-active, .sidebar__bottom > a:hover {
  color: #fff;
  background: rgba(255,255,255,.09);
}
.sidebar__nav a.is-active { box-shadow: inset 3px 0 0 var(--green); }
.sidebar__bottom { margin-top: auto; }
.sidebar__user {
  margin-top: 15px;
  padding: 15px 9px 10px;
  display: grid;
  grid-template-columns: 35px 1fr;
  gap: 9px;
  align-items: center;
  border-top: 1px solid rgba(255,255,255,.11);
}
.sidebar__user > span {
  width: 35px; height: 35px; display: grid; place-items: center;
  border-radius: 50%; color: #06341d; background: var(--green); font-size: 11px; font-weight: 850;
}
.sidebar__user div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.sidebar__user strong, .sidebar__user small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar__user strong { color: #fff; font-size: 12px; }
.sidebar__user small { color: #96acb7; font-size: 11px; }
.sidebar__logout { min-height: 34px !important; color: #91a6b1 !important; font-size: 11px !important; }
.admin-main { width: min(1200px, calc(100% - 70px)); margin: auto; padding: 45px 0 70px; }
.page-head {
  margin-bottom: 32px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 25px;
}
.page-head h1 { margin: 7px 0 5px; font-family: Georgia, serif; font-size: 37px; line-height: 1.1; font-weight: 500; letter-spacing: -.03em; }
.page-head p { margin: 0; color: #64717b; font-size: 14px; line-height: 1.5; }
.page-head__actions { display: flex; gap: 9px; }
.breadcrumbs { margin-bottom: 20px; display: flex; gap: 8px; color: #707c84; font-size: 12px; }
.breadcrumbs a:hover { color: var(--blue-700); }
.breadcrumbs strong { color: var(--ink); }

.flash {
  position: relative;
  margin-bottom: 18px;
  padding: 13px 43px 13px 14px;
  display: grid;
  grid-template-columns: 35px 1fr;
  gap: 11px;
  align-items: center;
  border: 1px solid #bfe7cb;
  border-radius: 10px;
  color: #166b38;
  background: var(--green-soft);
  font-size: 13px;
}
.flash > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #fff; }
.flash > div { min-width: 0; }
.flash--error { color: var(--danger); border-color: #f0c4c0; background: var(--danger-soft); }
.flash--info { color: var(--blue-800); border-color: #bdd9e5; background: var(--blue-100); }
.flash__close { position: absolute; right: 10px; border: 0; color: inherit; background: transparent; font-size: 17px; cursor: pointer; }
.copy-line { margin-top: 7px; display: flex; align-items: center; gap: 7px; }
.copy-line code { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--blue-900); font: 11px ui-monospace, SFMono-Regular, Consolas, monospace; }
.copy-line button { border: 0; padding: 6px 9px; border-radius: 5px; color: #fff; background: var(--blue-800); font-size: 11px; cursor: pointer; }

.metric-grid { margin-bottom: 34px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }
.metric-grid article {
  min-height: 125px;
  padding: 23px;
  display: grid;
  grid-template-columns: 45px 1fr;
  gap: 15px;
  align-items: start;
  border: 1px solid #e0e1df;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 5px 17px rgba(6,47,70,.035);
}
.metric-icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 10px; font-size: 16px; }
.metric-icon--blue { color: var(--blue-800); background: var(--blue-100); }
.metric-icon--green { color: var(--green-dark); background: var(--green-soft); }
.metric-icon--sand { color: #937544; background: #f1eadb; }
.metric-grid article div { display: grid; }
.metric-grid small { color: #707b83; font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.metric-grid strong { margin: 6px 0 3px; font-family: Georgia, serif; font-size: 29px; font-weight: 500; }
.metric-grid p { margin: 0; color: #727d85; font-size: 12px; }
.content-section { margin-top: 32px; }
.section-head, .panel__head {
  margin-bottom: 17px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
}
.section-head h2, .panel__head h2 { margin: 0 0 4px; font-family: Georgia, serif; font-size: 22px; font-weight: 500; }
.section-head p, .panel__head p { margin: 0; color: #66727b; font-size: 12px; }
.section-head > a, .panel__head > button { border: 0; color: var(--blue-700); background: none; font-size: 12px; font-weight: 800; cursor: pointer; }
.panel-download { color: var(--blue-700); font-size: 12px; font-weight: 800; }

.project-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.project-card {
  min-height: 244px;
  padding: 21px;
  border: 1px solid #e1e2df;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 4px 13px rgba(6,47,70,.025);
  transition: transform .18s ease, box-shadow .18s ease;
}
.project-card:hover { transform: translateY(-3px); box-shadow: 0 13px 30px rgba(6,47,70,.1); }
.project-card__top { display: flex; justify-content: space-between; align-items: center; }
.project-icon {
  width: 43px; height: 43px; display: grid; place-items: center;
  border-radius: 10px; color: var(--blue-800); background: var(--blue-100); font-family: Georgia, serif; font-size: 20px;
}
.project-icon--green { color: var(--green-dark); background: var(--green-soft); }
.project-icon--sand { color: #8b7148; background: #f0e8d8; }
.project-icon--orange { color: var(--orange); background: var(--orange-soft); }
.project-card__workspace { display: block; margin-top: 15px; color: var(--blue-700); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.project-card h3 { margin: 5px 0 7px; font-family: Georgia, serif; font-size: 19px; font-weight: 500; }
.project-card > p { min-height: 38px; margin: 0; color: #66727b; font-size: 12px; line-height: 1.55; }
.project-card__meta { margin-top: 16px; padding-top: 13px; display: flex; gap: 14px; border-top: 1px solid #edece8; color: #717d85; font-size: 11px; }
.project-card__meta b { color: var(--ink); }
.project-card__foot { margin-top: 14px; display: flex; justify-content: space-between; color: #79838a; font-size: 11px; }
.project-card__foot b { color: var(--blue-700); font-size: 11px; }
.status {
  width: max-content;
  padding: 5px 8px;
  display: inline-flex;
  align-items: center;
  border-radius: 20px;
  color: var(--green-dark);
  background: var(--green-soft);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.status--paused { color: #a85929; background: var(--orange-soft); }
.workspace-strip {
  margin-top: 31px;
  padding: 19px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid #dcd4c3;
  border-radius: 11px;
  background: var(--sand);
}
.workspace-strip > div { display: grid; grid-template-columns: 42px 1fr; gap: 13px; align-items: center; }
.workspace-strip__icon { width: 41px; height: 41px; display: grid; place-items: center; border-radius: 9px; color: #fff; background: var(--blue-800); }
.workspace-strip strong { font-family: Georgia, serif; font-size: 17px; }
.workspace-strip p { margin: 4px 0 0; color: #655f55; font-size: 11px; }
.workspace-strip > a { color: var(--blue-800); font-size: 12px; font-weight: 800; }

.workspace-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }
.workspace-card {
  min-height: 215px;
  padding: 23px;
  display: flex;
  flex-direction: column;
  border: 1px solid #e1e2df;
  border-radius: 11px;
  background: #fff;
  transition: transform .18s ease, box-shadow .18s ease;
}
.workspace-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(6,47,70,.09); }
.workspace-card__top { display: flex; align-items: center; justify-content: space-between; }
.workspace-card__top > span { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 9px; color: #fff; background: var(--blue-800); }
.workspace-card__top > span.is-personal { color: var(--green-dark); background: var(--green-soft); }
.workspace-card__top > b { padding: 5px 8px; border-radius: 14px; color: #5d6971; background: #f0f1f0; font-size: 11px; }
.workspace-card h2 { margin: 24px 0 7px; font-family: Georgia, serif; font-size: 20px; font-weight: 500; }
.workspace-card > p { margin: 0; color: #66727b; font-size: 12px; }
.workspace-card__foot { margin-top: auto; padding-top: 17px; display: flex; justify-content: space-between; border-top: 1px solid #ecece9; color: #717c84; font-size: 11px; }
.workspace-card__foot b { color: var(--blue-700); }
.two-column { display: grid; grid-template-columns: 1.35fr .65fr; gap: 20px; }
.panel {
  margin-top: 24px;
  padding: 22px;
  border: 1px solid #e0e1df;
  border-radius: 11px;
  background: #fff;
}
.two-column .panel { margin-top: 0; }
.panel .project-grid { grid-template-columns: repeat(2, 1fr); }
.member-list { display: flex; flex-direction: column; }
.member-row {
  min-height: 61px;
  display: grid;
  grid-template-columns: 35px 1fr auto auto;
  gap: 10px;
  align-items: center;
  border-bottom: 1px solid #ededea;
}
.member-row:last-child { border: 0; }
.member-row > span {
  width: 34px; height: 34px; display: grid; place-items: center;
  border-radius: 50%; color: #fff; background: var(--blue-800); font-size: 11px; font-weight: 850;
}
.member-row div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.member-row strong, .member-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.member-row strong { font-size: 12px; }
.member-row small { color: #717c84; font-size: 11px; }
.member-row > b { color: #657179; font-size: 11px; }

.project-head {
  min-height: 93px;
  display: grid;
  grid-template-columns: 61px 1fr auto;
  gap: 17px;
  align-items: center;
}
.project-head > .project-icon { width: 60px; height: 60px; border-radius: 13px; font-size: 27px; }
.project-head h1 { margin: 6px 0 4px; font-family: Georgia, serif; font-size: 30px; font-weight: 500; }
.project-head p { margin: 0; color: #64717b; font-size: 13px; }
.project-head__actions { display: flex; gap: 8px; }
.metric-grid--project { margin: 24px 0; }
.link-table { display: flex; flex-direction: column; }
.link-row {
  min-height: 88px;
  display: grid;
  grid-template-columns: 40px minmax(240px, 1fr) 60px 72px 36px 36px 36px;
  gap: 10px;
  align-items: center;
  border-bottom: 1px solid #ececea;
}
.link-row:last-child { border: 0; }
.link-row__icon { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 9px; color: var(--blue-800); background: var(--blue-100); font-weight: 800; }
.link-row > div:nth-child(2) { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.link-row strong { font-size: 12px; }
.link-row small { color: #6f7a82; font-size: 11px; }
.link-row code { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--blue-700); font: 11px ui-monospace, SFMono-Regular, Consolas, monospace; }
.link-row__count { display: flex; flex-direction: column; align-items: center; }
.link-row__count strong { font-family: Georgia, serif; font-size: 17px; font-weight: 500; }
.upload-table { overflow-x: auto; }
.upload-table__head, .file-row {
  min-width: 900px;
  display: grid;
  grid-template-columns: minmax(230px, 1.4fr) 1fr 1fr 75px 95px 32px;
  gap: 12px;
  align-items: center;
}
.upload-table__head {
  padding: 10px 12px;
  color: #879198;
  background: #f6f6f4;
  border-radius: 7px;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.file-row { min-height: 70px; padding: 0 12px; border-bottom: 1px solid #ececea; color: #59666f; font-size: 11px; }
.file-row:last-child { border: 0; }
.file-row > span { min-width: 0; }
.file-row > span:not(.file-title) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.file-row > span:nth-child(2) { display: flex; flex-direction: column; gap: 3px; }
.file-row > span:nth-child(2) strong { color: var(--ink); font-size: 11px; }
.file-row > span:nth-child(2) small { color: #707b83; font-size: 11px; }
.file-title { display: grid; grid-template-columns: 35px 1fr; gap: 9px; align-items: center; }
.file-title i { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; color: var(--blue-800); background: var(--blue-100); font-style: normal; font-size: 10px; font-weight: 850; }
.file-title strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink); }
.people-table { overflow-x: auto; }
.people-table__head, .people-row {
  min-width: 650px;
  display: grid;
  grid-template-columns: 1.5fr 100px 110px 100px;
  gap: 15px;
  align-items: center;
}
.people-table__head { padding: 10px 12px; color: #6f7a82; background: #f6f6f4; font-size: 11px; font-weight: 850; }
.people-row { min-height: 70px; padding: 0 12px; border-bottom: 1px solid #ececea; color: #59666f; font-size: 11px; }
.person { display: grid; grid-template-columns: 36px 1fr; gap: 10px; align-items: center; }
.person > i { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--blue-800); font-style: normal; font-size: 11px; font-weight: 850; }
.person > span { display: flex; flex-direction: column; gap: 3px; }
.person strong { color: var(--ink); font-size: 12px; }
.person small { color: #707b83; font-size: 11px; }
.settings-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.settings-grid .panel { margin-top: 0; }
.settings-grid .btn { align-self: flex-start; }
.empty-state { min-height: 210px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border: 1px dashed #cdd1d1; border-radius: 10px; background: rgba(255,255,255,.5); }
.empty-state > span { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 10px; color: var(--blue-800); background: var(--blue-100); }
.empty-state h3 { margin: 13px 0 5px; font-family: Georgia, serif; font-size: 17px; font-weight: 500; }
.empty-state p { max-width: 420px; margin: 0 0 14px; color: #64717b; font-size: 12px; line-height: 1.55; }

/* Modals */
.modal {
  width: min(550px, calc(100% - 30px));
  max-height: calc(100vh - 35px);
  padding: 0;
  overflow-y: auto;
  border: 0;
  border-radius: 13px;
  color: var(--ink);
  background: #fff;
  box-shadow: var(--shadow);
}
.modal--wide { width: min(680px, calc(100% - 30px)); }
.modal::backdrop { background: rgba(4, 32, 47, .7); backdrop-filter: blur(4px); }
.modal__head { padding: 25px 29px 20px; display: flex; align-items: flex-start; justify-content: space-between; border-bottom: 1px solid var(--line); }
.modal__head > div > span { color: var(--blue-700); font-size: 11px; font-weight: 850; letter-spacing: .13em; }
.modal__head h2 { margin: 6px 0 4px; font-family: Georgia, serif; font-size: 26px; font-weight: 500; }
.modal__head p { margin: 0; color: #64717b; font-size: 12px; line-height: 1.5; }
.modal__head > button { width: 30px; height: 30px; border: 0; border-radius: 50%; color: #758087; background: #f0f1ef; font-size: 16px; cursor: pointer; }
.modal__body { padding: 23px 29px 26px; }
.modal fieldset { margin: 0; padding: 0; border: 0; }
.modal legend { margin-bottom: 8px; }
.modal__foot { padding: 16px 29px; display: flex; justify-content: flex-end; gap: 8px; border-top: 1px solid var(--line); background: #fafaf8; }
.color-picker { height: 34px; display: flex; gap: 9px; align-items: center; }
.color-picker input, .type-picker input { position: absolute; opacity: 0; width: 1px; min-height: 1px; }
.color-dot { width: 25px; height: 25px; display: block; border: 3px solid #fff; border-radius: 50%; outline: 1px solid #cfd2d1; background: var(--blue-700); cursor: pointer; }
.color-dot--green { background: var(--green-dark); }
.color-dot--sand { background: #b5945f; }
.color-dot--orange { background: var(--orange); }
.color-picker input:checked + .color-dot { outline: 2px solid var(--ink); }
.type-picker { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.type-picker label span {
  min-height: 64px;
  padding: 7px 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: #68747b;
  font-size: 11px;
  text-align: center;
  cursor: pointer;
}
.type-picker label b { color: var(--blue-700); font-size: 13px; }
.type-picker input:checked + span { color: var(--blue-800); border-color: var(--blue-700); background: var(--blue-100); }

/* Public upload */
.upload-page {
  min-height: 100vh;
  color: #fff;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    var(--blue-950);
  background-size: 46px 46px;
}
.upload-top {
  width: min(1080px, calc(100% - 48px));
  height: 85px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.upload-top > span { color: #b9cbd4; font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.upload-top > span i { width: 7px; height: 7px; display: inline-block; margin-right: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(0,229,43,.1); }
.public-upload {
  width: min(1040px, calc(100% - 48px));
  min-height: calc(100vh - 150px);
  margin: auto;
  padding: 62px 0;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 82px;
  align-items: start;
}
.public-upload__intro { padding-top: 20px; }
.public-upload__intro .eyebrow { color: #8bc7df; }
.public-upload__intro .eyebrow i { width: 7px; height: 7px; display: inline-block; margin-right: 8px; border-radius: 50%; background: var(--green); }
.public-upload__intro > small { display: block; margin: 32px 0 7px; color: #9bb0ba; font-size: 11px; font-weight: 850; letter-spacing: .13em; }
.public-upload__intro h1 { margin: 0 0 20px; font-family: Georgia, serif; font-size: 42px; line-height: 1.08; font-weight: 500; letter-spacing: -.035em; }
.public-upload__intro > p { max-width: 420px; color: #c3d0d6; font-size: 14px; line-height: 1.7; }
.recipient {
  width: max-content;
  max-width: 100%;
  margin-bottom: 14px;
  padding: 9px 14px 9px 9px;
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 9px;
  background: rgba(255,255,255,.065);
}
.recipient > span { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 8px; color: #06351e; background: var(--green); font-family: Georgia, serif; font-size: 18px; }
.recipient div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.recipient small { color: #9fb2bc; font-size: 11px; font-weight: 850; letter-spacing: .12em; }
.recipient strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.rules { margin-top: 31px; padding-top: 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; border-top: 1px solid rgba(255,255,255,.11); }
.rules h2 { grid-column: 1/-1; margin: 0 0 4px; font-family: Georgia, serif; font-size: 19px; font-weight: 500; }
.rules > div { display: grid; grid-template-columns: 29px 1fr; gap: 8px; align-items: center; }
.rules div > span { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 7px; color: var(--green); background: rgba(0,229,43,.1); font-size: 13px; }
.rules p { margin: 0; display: flex; flex-direction: column; gap: 3px; }
.rules strong { font-size: 12px; }
.rules small { color: #9db0ba; font-size: 11px; }
.upload-card {
  overflow: hidden;
  color: var(--ink);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 32px 82px rgba(0,0,0,.3);
}
.upload-card__head { padding: 27px 31px 21px; border-bottom: 1px solid var(--line); }
.upload-card__head > span { color: var(--blue-700); font-size: 11px; font-weight: 850; letter-spacing: .13em; }
.upload-card__head h2 { margin: 7px 0 5px; font-family: Georgia, serif; font-size: 26px; font-weight: 500; }
.upload-card__head p { margin: 0; color: #64717b; font-size: 12px; line-height: 1.5; }
.upload-card form { padding: 24px 31px 26px; }
.dropzone {
  min-height: 170px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1.5px dashed #a8c8d6;
  border-radius: 10px;
  background: #f6fafb;
  cursor: pointer;
  outline: none;
  transition: .18s;
}
.dropzone:hover, .dropzone:focus, .dropzone.is-dragging { border-color: var(--green-dark); background: var(--green-soft); }
.dropzone > span { width: 44px; height: 44px; margin-bottom: 11px; display: grid; place-items: center; border-radius: 11px; color: var(--blue-800); background: var(--blue-100); font-size: 18px; }
.dropzone strong { font-family: Georgia, serif; font-size: 17px; }
.dropzone p { margin: 6px 0; color: #65727b; font-size: 12px; }
.dropzone u { color: var(--blue-700); font-weight: 800; }
.dropzone small { color: #747f86; font-size: 11px; }
.selected-files { margin: 17px 0; }
.selected-files__head { margin-bottom: 8px; display: flex; justify-content: space-between; font-size: 12px; }
.selected-files__head small { color: #8e979d; }
.selected-file {
  margin-bottom: 7px;
  padding: 9px 10px;
  display: grid;
  grid-template-columns: 35px 1fr auto;
  gap: 10px;
  align-items: center;
  border: 1px solid #e0e3e4;
  border-radius: 7px;
}
.selected-file > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 7px; color: var(--blue-800); background: var(--blue-100); font-size: 10px; font-weight: 850; }
.selected-file div { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.selected-file strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.selected-file small { color: #707b83; font-size: 11px; }
.selected-file button { border: 0; color: #98a0a5; background: transparent; font-size: 16px; cursor: pointer; }
.selected-files__more { width: 100%; padding: 10px; border: 1px dashed #d1d5d6; border-radius: 7px; color: var(--blue-700); background: transparent; font-size: 11px; font-weight: 800; cursor: pointer; }
.uploader-fields { margin-top: 20px; padding-top: 19px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; border-top: 1px solid var(--line); }
.uploader-fields label { display: flex; flex-direction: column; gap: 7px; color: #4f5d66; font-size: 12px; font-weight: 800; }
.uploader-fields label:last-child { grid-column: 1/-1; }
.uploader-fields label small { font-weight: 500; }
.upload-card .form-error { margin-top: 16px; margin-bottom: 0; }
.upload-progress { margin-top: 16px; padding: 13px; border-radius: 8px; color: var(--ink); background: var(--blue-100); }
.upload-progress > div { display: flex; justify-content: space-between; font-size: 11px; }
.upload-progress > span { height: 5px; margin: 8px 0; display: block; overflow: hidden; border-radius: 8px; background: #c7dce5; }
.upload-progress i { width: 0; height: 100%; display: block; border-radius: 8px; background: var(--green-dark); transition: width .15s; }
.upload-progress small { color: #61757f; font-size: 11px; }
.upload-card .btn--full { margin-top: 17px; }
.privacy-note { margin: 12px 0 0; display: flex; align-items: center; justify-content: center; gap: 7px; color: #6f7a82; font-size: 11px; }
.privacy-note span { color: var(--green-dark); }
.upload-success {
  padding: 55px 40px;
  color: var(--ink);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 32px 82px rgba(0,0,0,.3);
  text-align: center;
}
.upload-success > span { width: 64px; height: 64px; margin: 0 auto 19px; display: grid; place-items: center; border-radius: 50%; color: var(--green-dark); background: var(--green-soft); font-size: 25px; }
.upload-success > small { color: var(--blue-700); font-size: 11px; font-weight: 850; letter-spacing: .13em; }
.upload-success h2 { margin: 8px 0; font-family: Georgia, serif; font-size: 32px; font-weight: 500; }
.upload-success p { margin: 0 auto 22px; max-width: 430px; color: #64717b; font-size: 13px; line-height: 1.6; }
.upload-footer {
  width: min(1080px, calc(100% - 48px));
  min-height: 65px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid rgba(255,255,255,.1);
  color: #7893a0;
  font-size: 11px;
}
.upload-footer strong { color: #c6d3d9; }
.upload-footer div { display: flex; gap: 21px; }
.unavailable {
  width: min(560px, calc(100% - 35px));
  margin: 12vh auto;
  padding: 55px 45px;
  border-radius: 15px;
  color: var(--ink);
  background: #fff;
  box-shadow: var(--shadow);
  text-align: center;
}
.unavailable > span { width: 52px; height: 52px; margin: auto; display: grid; place-items: center; border-radius: 50%; color: var(--orange); background: var(--orange-soft); font-family: Georgia, serif; font-size: 24px; }
.unavailable h1 { margin: 20px 0 10px; font-family: Georgia, serif; font-size: 29px; font-weight: 500; }
.unavailable p { color: #64717b; font-size: 13px; line-height: 1.6; }
.unavailable small { color: #737d84; font-size: 11px; }

@media (max-width: 1050px) {
  .admin-shell { padding-left: 200px; }
  .sidebar { width: 200px; }
  .sidebar .brand--compact { --brand-width: 155px; }
  .admin-main { width: calc(100% - 44px); }
  .project-grid, .workspace-grid { grid-template-columns: repeat(2, 1fr); }
  .two-column { grid-template-columns: 1fr; }
  .public-upload { gap: 45px; }
}

@media (max-width: 760px) {
  .auth-wrap { width: min(100% - 30px, 600px); grid-template-columns: 1fr; gap: 35px; padding: 28px 0; }
  .auth-brand { min-height: auto; gap: 50px; }
  .auth-brand__copy { margin: 0; }
  .auth-brand__copy h1 { font-size: 42px; }
  .auth-brand__security { display: none; }
  .auth-card { padding: 28px 22px; }
  .admin-shell { padding: 0 0 63px; }
  .sidebar { inset: auto 0 0 0; width: 100%; height: 63px; padding: 7px 10px; flex-direction: row; }
  .sidebar__brand, .sidebar__bottom { display: none; }
  .sidebar__nav { width: 100%; flex-direction: row; justify-content: space-around; }
  .sidebar__nav a { min-height: 48px; padding: 5px 10px; flex-direction: column; gap: 2px; font-size: 11px; }
  .sidebar__nav a span { font-size: 15px; }
  .sidebar__nav a.is-active { box-shadow: none; }
  .admin-main { width: calc(100% - 28px); padding: 26px 0 50px; }
  .page-head { align-items: flex-start; }
  .page-head h1 { font-size: 30px; }
  .page-head > .btn { width: 42px; padding: 0; font-size: 0; }
  .page-head > .btn::after { content: "+"; font-size: 20px; }
  .page-head__actions { width: 100%; grid-column: 1/-1; }
  .metric-grid { grid-template-columns: 1fr; gap: 9px; }
  .metric-grid article { min-height: 100px; }
  .project-grid, .workspace-grid, .panel .project-grid, .settings-grid { grid-template-columns: 1fr; }
  .workspace-strip { align-items: flex-start; gap: 15px; flex-direction: column; }
  .project-head { grid-template-columns: 51px 1fr; }
  .project-head > .project-icon { width: 49px; height: 49px; }
  .project-head__actions { grid-column: 1/-1; }
  .link-row { grid-template-columns: 38px minmax(180px, 1fr) 32px; padding: 12px 0; }
  .link-row__count, .link-row > .status, .link-row > .icon-btn:nth-of-type(n+2), .link-row > form { display: none; }
  .panel { padding: 17px; }
  .modal__head, .modal__body, .modal__foot { padding-left: 20px; padding-right: 20px; }
  .type-picker { grid-template-columns: repeat(2, 1fr); }
  .form-row, .uploader-fields { grid-template-columns: 1fr; }
  .uploader-fields label:last-child { grid-column: auto; }
  .upload-top, .public-upload, .upload-footer { width: calc(100% - 30px); }
  .upload-top { height: 74px; }
  .upload-top > span { display: none; }
  .public-upload { grid-template-columns: 1fr; gap: 34px; padding: 36px 0; }
  .public-upload__intro { padding-top: 0; }
  .public-upload__intro h1 { font-size: 35px; }
  .rules { grid-template-columns: 1fr 1fr; }
  .upload-card__head, .upload-card form { padding-left: 20px; padding-right: 20px; }
  .upload-footer { padding: 19px 0; flex-wrap: wrap; gap: 12px; }
  .upload-footer div { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
