:root {
  --ink:#20242e;
  --ink-hover:#343944;
  --action:#0f69fc;
  --action-hover:#085bdf;
  --accent:#0f69fc;
  --text-secondary:#596170;
  --text-muted:#697180;
  --surface-soft:#f6f7f9;
  --border:#e3e6ec;
  --focus-ring:#6688b3;
}

@font-face {
  font-family:TeebFallback;
  src:local("Arial");
  font-display:swap
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:36px
}

body {
  margin:0;
  color:var(--ink);
  background:#fff;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",TeebFallback,sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased
}

a {
  color:inherit;
  text-decoration:none
}

button,input,select {
  font:inherit
}

button,a,input,select,summary {
  -webkit-tap-highlight-color:transparent
}

button {
  cursor:pointer
}

button:disabled {
  cursor:wait;
  opacity:.65
}

a,button,input,select,textarea,summary {
  outline-offset:2px
}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline:1px solid var(--focus-ring)
}

input:not([type=checkbox]):not([type=radio]):focus-visible,select:focus-visible,textarea:focus-visible {
  outline-offset:-1px
}

img {
  max-width:100%;
  display:block
}

h1,h2,h3,p {
  margin:0
}

h1,h2,h3 {
  line-height:1.15;
  letter-spacing:-.025em;
  font-weight:550
}

h3 {
  font-size:18px;
  letter-spacing:-.025em
}

input,select {
  width:100%;
  min-width:0;
  height:48px;
  padding:11px 14px;
  border:1px solid #dfe3e9;
  border-radius:9px;
  background:white;
  color:var(--ink);
  transition:border-color .15s
}

input::placeholder {
  color:#7b8493
}

input:focus,select:focus,textarea:focus {
  border-color:var(--focus-ring)
}

label {
  font-size:14px;
  font-weight:550;
  display:block
}

label input,label select {
  margin-top:8px;
  font-weight:400
}

small {
  font-size:13px;
  color:#687382
}

.icon {
  flex-shrink:0;
  vertical-align:middle
}

.button {
  border:1px solid var(--action);
  border-radius:9px;
  background:var(--action);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:13px 20px;
  font-size:14px;
  line-height:20px;
  font-weight:550;
  white-space:nowrap;
  transition:background .15s,transform .15s
}

.button:hover {
  background:var(--action-hover);
  border-color:var(--action-hover)
}

.button:active {
  transform:translateY(1px)
}

.button.small {
  padding:10px 15px
}

.button.full {
  width:100%
}

.button.secondary {
  background:white;
  color:#353d4b;
  border-color:#dfe3e9
}

.button.secondary:hover {
  background:#f3f6fa
}

.button.danger {
  background:#fff;
  color:#c03232;
  border-color:#efcece
}

.button.danger:hover {
  background:#fff3f3
}

.icon-button {
  padding:9px;
  border:1px solid transparent;
  border-radius:7px;
  background:transparent;
  color:#687382;
  display:inline-flex;
  justify-content:center;
  align-items:center
}

.icon-button:hover {
  background:var(--surface-soft);
  color:var(--ink)
}

.quiet-link,.text-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:14px
}

.quiet-link {
  color:#657083
}

.quiet-link:hover,.text-link {
  color:var(--ink)
}

.text-link {
  font-weight:600
}

.brand {
  display:inline-block;
  flex-shrink:0
}

.brand img {
  object-fit:contain
}

.container {
  width:min(1180px,calc(100% - 80px));
  margin:auto
}

.status-dot {
  width:6px;
  height:6px;
  border-radius:50%;
  display:inline-block;
  background:var(--ink);
  flex-shrink:0
}

.blue-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:9px;
  background:var(--surface-soft);
  color:#69717d;
  flex-shrink:0
}

.blue-icon.large {
  height:50px;
  width:50px
}

h2 {
  font-size:20px;
  font-weight:600;
  line-height:1.3
}

:where(.public-page) h2 {
  font-size:36px;
  line-height:1.2
}

.auth-wrap {
  max-width:920px;
  margin:65px auto 100px;
  padding:0 30px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
  min-height:480px
}

.auth-intro h1 {
  font-size:40px;
  margin:25px 0 22px;
  line-height:1.2
}

.auth-intro p {
  color:#6e7a8b;
  font-size:16px;
  line-height:1.8
}

.auth-intro>a {
  margin-top:28px
}

.auth-card {
  border:1px solid #e3e8f0;
  border-radius:16px;
  padding:32px;
  box-shadow:0 10px 35px #18345906
}

.auth-card > p + .button {
  margin-top:20px
}

.auth-card h2 {
  font-size:24px;
  margin-bottom:8px
}

.muted-text {
  color:#778392;
  font-size:14px
}

.stack-form {
  display:flex;
  flex-direction:column;
  gap:22px;
  margin-top:27px
}

.auth-switch {
  font-size:13px;
  color:#7c8593;
  text-align:center;
  margin-top:25px
}

.auth-switch a {
  color:var(--ink);
  margin-left:4px
}

.badge {
  display:inline-flex;
  align-items:center;
  gap:5px;
  border-radius:5px;
  padding:4px 8px;
  font-size:12px;
  font-weight:500;
  line-height:1.3;
  white-space:nowrap
}

.badge.green {
  color:#218359;
  background:#eaf7f0
}

.badge.green:before {
  content:"";
  width:5px;
  height:5px;
  border-radius:50%;
  background:currentColor
}

.badge.blue {
  background:var(--surface-soft);
  color:var(--ink)
}

.badge.muted {
  background:#f0f2f5;
  color:#748092
}

.notice {
  display:flex;
  gap:10px;
  align-items:center;
  padding:14px 18px;
  border-radius:9px;
  margin:0 0 25px;
  font-size:14px;
  line-height:1.6
}

.notice.success {
  background:#edf8f2;
  color:#277d57;
  border:1px solid #d3eadc
}

.notice.error {
  background:#fff2f2;
  color:#ab3030;
  border:1px solid #f2d3d3
}

.public-page main>.notice {
  max-width:860px;
  margin:20px auto
}

.error-page {
  max-width:640px;
  padding:70px 30px 110px;
  margin:auto;
  text-align:center
}

.error-code {
  display:inline-block;
  color:var(--ink);
  font-size:18px;
  font-weight:600
}

.error-page h1 {
  font-size:36px;
  margin-top:0
}

.error-page p {
  margin:22px 0 30px;
  color:#707c8d
}

.workspace-page {
  background:#f8fafc;
  font-size:14px
}

.sidebar {
  position:fixed;
  inset:0 auto 0 0;
  width:246px;
  background:#fff;
  border-right:1px solid #e5eaf1;
  padding:28px 18px 0;
  display:flex;
  flex-direction:column;
  z-index:10
}

.sidebar>.brand {
  margin-left:16px;
  margin-bottom:33px;
  align-self:flex-start
}

.workspace-switch {
  display:flex;
  align-items:center;
  gap:11px;
  border:1px solid #e6eaf0;
  border-radius:9px;
  padding:11px 9px;
  margin-bottom:32px
}

.workspace-switch>div,.account>div {
  min-width:0
}

.workspace-switch strong,.account strong {
  font-size:13px;
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-weight:550
}

.workspace-switch div>span,.account div>span {
  font-size:12px;
  color:#8993a2;
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}

.avatar {
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  background:var(--surface-soft);
  color:var(--ink);
  border-radius:8px;
  font-size:13px;
  font-weight:600
}

.avatar.neutral {
  color:#66758a;
  background:#f0f3f7
}

.nav-item {
  display:flex;
  align-items:center;
  gap:11px;
  font-size:14px;
  color:#778293;
  padding:11px 12px;
  border-radius:7px;
  margin-bottom:4px;
  min-height:43px
}

.nav-item .icon {
  width:18px;
  height:18px
}

.nav-item:hover {
  background:#f6f8fb
}

.nav-item.selected {
  color:var(--accent);
  background:var(--surface-soft);
  font-weight:550
}

.nav-rule {
  border-top:1px solid #edf0f5;
  margin:23px 12px
}

.tiny-badge {
  margin-left:auto;
  font-size:12px;
  background:#f0f3f8;
  border-radius:4px;
  color:#7c8797;
  padding:1px 6px
}

.sidebar-bottom {
  margin-top:auto
}

.plan-note {
  font-size:12px;
  color:#64768f;
  padding:18px 10px
}

.plan-note>.status-dot {
  background:#42ac84;
  margin-right:4px
}

.plan-note a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:12px;
  color:#8b98a9;
  margin-top:8px
}

.plan-note .icon {
  width:13px;
  height:13px
}

.account {
  display:flex;
  align-items:center;
  gap:9px;
  border-top:1px solid #e8edf3;
  margin:0 -18px;
  padding:19px 18px
}

.account>form {
  margin-left:auto
}

.account .icon-button {
  padding:5px
}

.workspace-body {
  margin-left:246px
}

.workspace-top {
  height:77px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #e7ecf3;
  background:#fff;
  padding:0 40px;
  gap:20px;
  font-size:12px;
  color:#8a94a2
}

.workspace-top .quiet-link {
  font-size:12px;
  flex-shrink:0;
  white-space:nowrap
}

.workspace-top .icon {
  width:14px;
  height:14px
}

.workspace-main {
  max-width:1360px;
  padding:38px 40px 65px;
  margin:auto
}

.workspace-main .button {
  max-width:100%;
  white-space:normal
}

.page-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:28px
}

.page-heading h1 {
  font-size:28px;
  font-weight:620;
  letter-spacing:-.045em
}

.page-heading p {
  font-size:14px;
  color:var(--text-secondary);
  margin-top:9px
}

.metrics {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-bottom:30px
}

.metric {
  background:#fff;
  border:1px solid #e4eaf2;
  border-radius:10px;
  padding:20px 22px
}

.metric-label {
  color:#8290a2;
  font-size:12px;
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center
}

.metric-label .icon {
  width:16px;
  height:16px;
  color:#92a3ba
}

.metric strong {
  font-size:30px;
  font-weight:600;
  line-height:1.4;
  letter-spacing:-.03em;
  display:block;
  margin-top:10px
}

.metric small {
  font-size:12px;
  color:#93a0af
}

.metric.blue-metric {
  background:var(--surface-soft);
  border-color:var(--border)
}

.metric.blue-metric strong {
  color:var(--ink)
}

.panel {
  border:1px solid #e3e9f1;
  background:#fff;
  border-radius:12px;
  overflow:hidden
}

.panel-pad {
  padding:24px
}

.workspace-main>.panel+.panel {
  margin-top:24px
}

:where(.workspace-main) .panel-pad>h2+p:not(.field-help) {
  margin-top:8px;
  color:var(--text-secondary)
}

.toolbar {
  display:flex;
  align-items:center;
  gap:10px;
  padding:20px;
  border-bottom:1px solid #e9edf3
}

.search-control {
  display:flex;
  align-items:center;
  gap:10px;
  position:relative;
  flex:1;
  color:#8796a8;
  min-width:130px
}

.search-control>.icon {
  position:absolute;
  left:12px;
  width:17px;
  height:17px
}

.search-control input {
  padding-left:37px;
  font-size:13px;
  height:40px;
  background:#fcfdff
}

.toolbar select {
  width:160px;
  height:40px;
  font-size:13px;
  padding:8px 10px
}

.toolbar .button {
  padding:9px 12px
}

.table-scroll {
  position:relative;
  overflow-x:auto
}

table {
  width:100%;
  border-collapse:collapse;
  text-align:left;
  font-size:14px
}

th {
  font-size:12px;
  color:#919cab;
  font-weight:500;
  letter-spacing:.02em;
  padding:13px 22px;
  background:#fcfdff;
  border-bottom:1px solid #edf1f6;
  white-space:nowrap
}

td {
  padding:20px 22px;
  border-bottom:1px solid #edf1f6;
  vertical-align:middle
}

tbody tr:last-child td {
  border-bottom:0
}

tbody tr:hover {
  background:#fcfdff
}

.link-name {
  display:flex;
  align-items:center;
  gap:13px;
  min-width:230px
}

.link-name .blue-icon {
  width:34px;
  height:34px;
  background:var(--surface-soft)
}

.link-name strong {
  display:block;
  font-size:14px;
  font-weight:550;
  max-width:280px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}

.destination {
  display:block;
  font-size:12px;
  color:#9aa4b2;
  margin-top:4px;
  max-width:270px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}

.short-link {
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  color:var(--accent);
  font-size:13px
}

.short-link .icon-button {
  padding:5px
}

.short-link .icon {
  height:15px;
  width:15px
}

.cell-secondary {
  font-size:12px;
  color:#8a95a6
}

.click-count {
  font-weight:550;
  display:flex;
  gap:6px;
  align-items:center;
  font-size:14px
}

.click-count .icon {
  width:14px;
  height:14px;
  color:#9aabc0
}

.actions {
  display:flex;
  gap:3px;
  justify-content:flex-end
}

.actions .icon {
  width:17px;
  height:17px
}

.table-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:16px 22px;
  border-top:1px solid #edf1f6;
  font-size:12px;
  color:#939eae
}

.pagination {
  display:flex;
  gap:14px;
  align-items:center
}

.pagination a {
  color:var(--ink)
}

.tip-line {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:#8e9aaa;
  font-size:12px;
  margin-top:26px
}

.tip-line .icon {
  width:15px;
  height:15px
}

.empty-state {
  padding:66px 24px;
  text-align:center;
  max-width:520px;
  margin:auto
}

.empty-state>.blue-icon {
  margin-bottom:22px;
  width:48px;
  height:48px
}

.empty-state h2 {
  font-size:20px
}

.empty-state p {
  font-size:14px;
  color:var(--text-secondary);
  line-height:1.8;
  margin:12px 0 24px
}

.back-link {
  margin-bottom:22px
}

.form-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:26px;
  align-items:start
}

.form-panel {
  padding:24px
}

.form-panel h2 {
  font-size:20px;
  margin-bottom:8px
}

.form-panel .stack-form {
  margin-top:24px
}

.form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px
}

.field-help {
  display:block;
  margin-top:8px;
  font-size:12px;
  font-weight:400;
  line-height:1.65;
  color:var(--text-muted)
}

.input-prefix {
  display:flex;
  margin-top:8px;
  border:1px solid #dfe3e9;
  border-radius:9px;
  overflow:hidden
}

.input-prefix>span {
  background:#f8fafd;
  color:#91a0b3;
  font-size:14px;
  display:flex;
  align-items:center;
  padding:0 14px;
  border-right:1px solid #e4e9f1;
  white-space:nowrap
}

.input-prefix input {
  border:0;
  margin:0;
  border-radius:0
}

.form-divider {
  height:1px;
  background:#edf1f5;
  margin:4px 0
}

.advanced {
  border-top:1px solid #e8edf3;
  padding-top:22px
}

.advanced>summary {
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:550;
  font-size:14px;
  cursor:pointer;
  list-style:none
}

.advanced>summary:after {
  content:"+";
  margin-left:auto;
  color:#7e90a5
}

.advanced[open]>summary:after {
  content:"−"
}

.advanced>div {
  padding-top:22px
}

.form-actions {
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:8px
}

.help-card {
  border:1px solid var(--border);
  border-radius:12px;
  padding:25px;
  background:var(--surface-soft)
}

.help-card>.icon {
  color:var(--ink);
  margin-bottom:18px
}

.help-card h3 {
  font-size:17px;
  line-height:1.4
}

.help-card p {
  font-size:13px;
  line-height:1.8;
  color:#7c8ba0;
  margin-top:12px
}

.help-card ul {
  padding-left:17px;
  margin:18px 0 0;
  color:#6d7e95;
  font-size:13px;
  line-height:2.1
}

.link-result {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:19px 22px;
  border:1px solid var(--border);
  background:var(--surface-soft);
  border-radius:10px;
  margin-bottom:24px
}

.link-result a {
  color:var(--ink);
  font-size:18px;
  word-break:break-all;
  font-weight:550
}

.link-result>div {
  min-width:0
}

.link-result .button {
  flex-shrink:0
}

.side-actions {
  padding:20px 0;
  display:flex;
  flex-direction:column;
  gap:12px
}

.side-actions .button {
  width:100%
}

.danger-zone {
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid #e5e9ef
}

.danger-zone summary {
  font-size:12px;
  color:#a27878;
  cursor:pointer
}

.danger-zone p {
  font-size:12px;
  color:#8b7b7b;
  margin:10px 0
}

.project-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:25px
}

.project-card {
  padding:25px;
  border:1px solid #e2e9f2;
  border-radius:11px;
  background:#fff;
  transition:border-color .15s
}

.project-card:hover {
  border-color:#a6aab2
}

.project-card .icon {
  color:var(--ink);
  margin-bottom:23px
}

.project-card h3 {
  font-size:17px;
  word-break:break-word
}

.project-card p {
  font-size:13px;
  color:#8c98a8;
  margin-top:10px
}

.inline-form {
  display:flex;
  align-items:end;
  gap:15px
}

.inline-form label {
  flex:1
}

.narrow-panel {
  max-width:700px
}

.analytics-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:20px
}

.chart-panel {
  padding:28px
}

.panel-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:20px;
  margin-bottom:24px
}

.panel-heading h2 {
  font-size:17px;
  letter-spacing:-.02em;
  min-width:0;
  overflow-wrap:anywhere
}

.panel-heading span {
  font-size:12px;
  color:#94a0b0
}

.chart {
  display:block;
  width:100%;
  height:230px;
  overflow:visible
}

.chart-grid {
  stroke:#ecf0f5;
  stroke-dasharray:4 5
}

.chart-bar {
  fill:var(--accent)
}

.chart text {
  fill:#8b97a8;
  font-size:12px;
  font-family:inherit
}

.chart-zero {
  fill:#b3c9e9
}

.chart-empty {
  color:#8e9bae;
  font-size:13px;
  text-align:center;
  margin-top:8px
}

.breakdown {
  list-style:none;
  padding:0;
  margin:0
}

.breakdown li {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:13px 0;
  border-bottom:1px solid #eff2f7;
  font-size:13px;
  color:#7f8da0
}

.breakdown li:last-child {
  border:0
}

.breakdown strong {
  color:#47586e;
  font-weight:500
}

.privacy-note {
  color:#929eae;
  font-size:12px;
  line-height:1.75;
  margin-top:24px
}

.plan-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px
}

.plan-card {
  padding:32px
}

.plan-card h2 {
  font-size:22px;
  margin:0
}

.plan-card .price {
  font-size:42px;
  font-weight:600
}

.plan-card p {
  color:#8994a4;
  font-size:14px;
  margin:12px 0 20px
}

.check-list {
  list-style:none;
  margin:23px 0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:14px;
  color:#667890;
  font-size:14px
}

.check-list li {
  display:flex;
  align-items:center;
  gap:9px
}

.check-list .icon {
  color:var(--ink);
  width:17px;
  height:17px
}

.usage-meter {
  width:100%;
  height:7px;
  border:0;
  border-radius:5px;
  overflow:hidden;
  background:var(--surface-soft);
  accent-color:var(--ink)
}

.usage-meter::-webkit-progress-bar {
  background:var(--surface-soft)
}

.usage-meter::-webkit-progress-value {
  background:var(--ink);
  border-radius:5px
}

.usage-label {
  font-size:12px;
  color:#8b99ab;
  display:flex;
  justify-content:space-between;
  margin-top:10px
}

.admin-metrics {
  grid-template-columns:repeat(3,1fr)
}

.admin-access {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  min-width:260px;
  align-items:center
}

.admin-access select {
  font-size:12px;
  padding:6px;
  height:34px;
  width:auto
}

.admin-access .button {
  font-size:12px;
  padding:6px 9px
}

.admin-access input[type=hidden] {
  display:none
}

.admin-access .form-row {
  gap:6px
}

.audit-panel {
  margin-top:28px
}

.audit-title {
  font-size:17px;
  padding:23px;
  border-bottom:1px solid #e9eef6
}

.audit-list {
  list-style:none;
  margin:0;
  padding:0 23px
}

.audit-list li {
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:18px;
  border-bottom:1px solid #edf1f5;
  padding:12px 0;
  font-size:12px;
  color:#8c98a7
}

.audit-list li:last-child {
  border:0
}

.audit-list strong {
  font-weight:500;
  color:#576d88;
  overflow-wrap:anywhere
}

.audit-list span {
  overflow-wrap:anywhere
}

.toast {
  position:fixed;
  bottom:25px;
  left:50%;
  transform:translateX(-50%);
  max-width:calc(100% - 40px);
  background:#202c3e;
  color:white;
  padding:13px 22px;
  border-radius:9px;
  box-shadow:0 10px 30px #16336322;
  font-size:14px;
  z-index:30
}

.skip-link {
  position:fixed;
  left:20px;
  top:-80px;
  z-index:100;
  background:var(--ink);
  color:white;
  padding:12px;
  border-radius:5px
}

.skip-link:focus {
  top:10px
}

.sr-only {
  position:absolute!important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

[hidden] {
  display:none!important
}

@media(max-width:1200px) {
.container {
    width:calc(100% - 60px)
  }

.sidebar {
    width:225px
  }

.workspace-body {
    margin-left:225px
  }

.workspace-main {
    padding:30px 26px
  }

.workspace-top {
    padding:0 26px
  }

.form-layout {
    grid-template-columns:minmax(0,1fr) 240px
  }

.metric {
    padding:18px
  }

.metrics {
    gap:12px
  }

td,th {
    padding-left:17px;
    padding-right:17px
  }

.cell-project {
    display:none
  }
}

@media(max-width:1000px) {
.sidebar {
    width:205px;
    padding-inline:12px
  }

.workspace-body {
    margin-left:205px
  }

.nav-item {
    padding:11px 8px;
    font-size:13px;
    gap:8px
  }

.account {
    margin-inline:-12px;
    padding-inline:12px
  }

.metrics {
    grid-template-columns:repeat(2,1fr)
  }

.form-layout {
    grid-template-columns:1fr
  }

.form-aside {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px
  }

.form-aside .side-actions {
    padding:0
  }

.form-aside .danger-zone {
    margin-top:5px
  }

.project-grid {
    grid-template-columns:repeat(2,1fr)
  }

.toolbar {
    flex-wrap:wrap
  }

.toolbar .search-control {
    flex-basis:100%
  }

.toolbar select {
    flex:1;
    width:100px
  }

.plan-grid {
    grid-template-columns:1fr
  }

.auth-wrap {
    gap:45px
  }

.auth-intro h1 {
    font-size:35px
  }
}

@media(max-width:760px) {
.container {
    width:calc(100% - 40px)
  }

:where(.public-page) h2 {
    font-size:28px
  }

.auth-wrap {
    display:block;
    margin:30px auto 50px;
    padding:0 20px;
    max-width:460px
  }

.auth-intro {
    margin-bottom:30px
  }

.auth-intro>.blue-icon {
    display:none
  }

.auth-intro h1 {
    font-size:29px
  }

.auth-intro h1 br {
    display:none
  }

.auth-intro p {
    font-size:14px
  }

.auth-intro>a {
    display:none
  }

.auth-card {
    padding:25px
  }

.sidebar {
    position:static;
    width:100%;
    padding:14px 18px 0;
    border-right:0;
    border-bottom:1px solid #e4eaf2;
    display:block
  }

.sidebar>.brand {
    margin:0 0 13px
  }

.sidebar>.brand img {
    width:86px;
    height:32px
  }

.workspace-switch,.sidebar-bottom,.nav-rule {
    display:none
  }

.sidebar nav {
    display:flex;
    gap:4px;
    overflow-x:auto;
    padding-bottom:10px
  }

.nav-item {
    flex-shrink:0;
    margin:0;
    padding:9px 10px;
    font-size:12px;
    min-height:36px
  }

.nav-item .icon {
    width:16px;
    height:16px
  }

.tiny-badge {
    display:none
  }

.workspace-body {
    margin:0
  }

.workspace-top {
    height:50px;
    padding:0 20px;
    font-size:12px
  }

.workspace-top .quiet-link {
    font-size:12px
  }

.workspace-main {
    padding:26px 18px 45px
  }

.page-heading {
    align-items:flex-start;
    margin-bottom:24px
  }

.page-heading h1 {
    font-size:25px
  }

.page-heading p {
    font-size:13px;
    line-height:1.7
  }

.page-heading>.button {
    padding:10px 12px;
    font-size:12px;
    gap:6px
  }

.page-heading>.button .icon {
    width:16px
  }

.metrics {
    gap:10px;
    margin-bottom:22px
  }

.metric {
    padding:16px
  }

.metric-label {
    font-size:12px
  }

.metric strong {
    font-size:26px
  }

.metric small {
    font-size:12px
  }

.toolbar {
    padding:14px;
    gap:8px
  }

.toolbar select {
    font-size:12px
  }

.toolbar .button {
    font-size:12px;
    padding:9px
  }

.table-bottom {
    padding:14px;
    font-size:12px
  }

.tip-line {
    align-items:flex-start;
    font-size:12px;
    line-height:1.7
  }

.panel-pad,.form-panel {
    padding:20px
  }

.form-row {
    grid-template-columns:1fr;
    gap:22px
  }

.input-prefix>span {
    font-size:12px;
    padding:0 10px
  }

.form-aside {
    grid-template-columns:1fr
  }

.form-actions {
    flex-wrap:wrap
  }

.link-result {
    padding:16px;
    align-items:flex-start
  }

.link-result a {
    font-size:14px
  }

.link-result .button {
    padding:8px;
    font-size:12px;
    gap:5px
  }

.project-grid {
    gap:12px
  }

.project-card {
    padding:20px
  }

.project-card h3 {
    font-size:15px
  }

.inline-form {
    flex-wrap:wrap
  }

.inline-form label {
    flex-basis:100%
  }

.inline-form .button {
    width:100%
  }

.analytics-grid {
    grid-template-columns:1fr
  }

.chart-panel {
    padding:22px 18px
  }

.chart {
    height:200px
  }

.panel-heading {
    margin-bottom:18px
  }

.panel-heading h2 {
    font-size:16px
  }

.panel-heading span {
    font-size:12px
  }

.page-heading>form select {
    font-size:12px;
    padding:8px;
    height:40px
  }

.plan-card {
    padding:25px
  }

.admin-metrics {
    grid-template-columns:repeat(3,1fr)
  }

.admin-metrics .metric {
    padding:12px
  }

.admin-metrics .metric strong {
    font-size:24px
  }

.admin-metrics .metric-label {
    font-size:12px
  }

.audit-list li {
    grid-template-columns:1fr;
    gap:4px
  }

.public-page main>.notice {
    margin:15px 20px
  }

.empty-state {
    padding:45px 22px
  }

.empty-state h2 {
    font-size:20px
  }
}

@media(max-width:380px) {
  .page-heading {
    flex-direction:column;
    gap:16px
  }
  .page-heading>.button {
    align-self:flex-start
  }
}

@media(prefers-reduced-motion:reduce) {
html {
    scroll-behavior:auto
  }

*,*:before,*:after {
    transition:none!important;
    animation:none!important
  }
}

/* Readable primary controls and copy at every breakpoint. */
.nav-item,.toolbar input,.toolbar select,.toolbar .button,.button.small,.page-heading>.button,.page-heading>form select {
  font-size:14px
}

.auth-intro p {
  font-size:16px
}

.plan-heading {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 16px;
  margin-bottom:20px;
}

.plan-usage-list { display:grid; gap:20px; margin:28px 0; }
.plan-usage-row > div { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px 16px; }
.plan-usage-row span { color:var(--muted); font-size:14px; }
.plan-usage-row .usage-meter { margin-top:10px; height:5px; }

.link-tools { border-top:1px solid var(--border); border-bottom:1px solid var(--border); margin:4px 0; }
.link-tools summary { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:16px 0; font-weight:600; cursor:pointer; list-style:none; font-size:13px; }
.link-tools summary::-webkit-details-marker { display:none; }
.link-tools summary .icon { width:16px; height:16px; transition:transform .15s; }
.link-tools[open] summary .icon { transform:rotate(45deg); }
.link-tools > div { display:grid; gap:2px; padding-bottom:12px; }
.link-tools a { display:flex; align-items:center; gap:10px; padding:10px 8px; border-radius:6px; font-size:13px; color:var(--ink); }
.link-tools a:hover { background:var(--surface-soft); color:var(--blue); }
.link-tools a .icon { flex-shrink:0; width:17px; height:17px; color:var(--muted); }
@media(min-width:761px) { .sidebar { overflow-y:auto; } .sidebar > .brand,.sidebar > .workspace-switch,.sidebar > nav,.sidebar > .sidebar-bottom { flex-shrink:0; } }

.analytics-history-link { margin:-10px 0 24px; }

.restricted-link-notice{margin-bottom:24px}
.restricted-link-notice>p{font-size:14px;line-height:1.6;margin:12px 0 0;overflow-wrap:anywhere}
.restricted-link-notice>h2{font-size:18px;line-height:1.4}
.restricted-link-appeal{margin-top:18px;max-width:640px}
.restricted-link-appeal>summary{cursor:pointer;font-size:14px;font-weight:550}
.restricted-link-appeal>.stack-form{margin-top:18px}

/* Availability is supporting text; its colour never carries the result alone. */
.availability-status{display:inline-flex;align-items:center;gap:7px;max-width:100%;font-size:12px;line-height:1.5;font-weight:400;color:#697183;overflow-wrap:anywhere;vertical-align:middle}
.availability-dot{flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:#adb4bf}
.availability-status[data-state="available"] .availability-dot{background:#25805b}
.availability-status[data-state="unavailable"] .availability-dot,.availability-status[data-state="restricted"] .availability-dot{background:#bf7543}
.availability-status[data-state="pending"] .availability-dot{background:#1264ff}
.link-availability-line{margin:-7px 0 20px}.row-availability{margin:5px 0 0 43px}
.instant-result>.availability-status{margin:0 0 10px}.restricted-link-notice.registry-notice{margin-bottom:20px;border-color:#e7d7c6;background:#fffcf7}.registry-notice h2{font-size:18px}.registry-notice p{font-size:14px;line-height:1.6}
@media(max-width:600px){.row-availability{margin-left:0}.link-availability-line{margin-top:0}}
.toolbar .check-label{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:13px;font-weight:400}.toolbar .check-label input[type=checkbox]{width:16px;height:16px;min-height:16px;margin:0;padding:0;accent-color:#1265ff}
