:root{
  --page:#fffdfb;
  --white:#fff;
  --cream:#fff3e9;
  --cream2:#ffead8;
  --orange:#ff8a3d;
  --orange-dark:#e76b25;
  --ink:#302b28;
  --muted:#726c68;
  --line:#eae0d8;
  --green:#26775b;
  --shadow:0 18px 60px rgba(81,49,30,.065);
  --radius:20px
}
*{
  box-sizing:border-box
}
html{
  scroll-behavior:smooth
}
body{
  margin:0;
  background:var(--page);
  color:var(--ink);
  font-family:'DanaFaNum',Tahoma,'Noto Sans Arabic',sans-serif;
  font-size:14px;
  line-height:1.85
}
button,input,textarea,select{
  font:inherit
}
button{
  cursor:pointer
}
a{
  color:inherit;
  text-decoration:none
}
a:hover{
  color:var(--orange-dark)
}
img{
  display:block;
  max-width:100%
}
p,h1,h2,h3{
  margin-top:0
}
h1,h2,h3{
  line-height:1.55;
  letter-spacing:-.035em
}
h1{
  font-size:clamp(1.9rem,4.3vw,3.75rem)
}
h2{
  font-size:clamp(1.34rem,2.55vw,2.05rem)
}
h3{
  font-size:1.05rem
}
main{
  min-height:55vh
}
.container{
  width:min(1160px,calc(100% - 48px));
  margin-inline:auto
}
.narrow{
  max-width:520px
}
.space-lg{
  padding-block:70px
}
.section-pad{
  padding-block:88px
}
.section-kicker{
  display:block;
  color:#c36830;
  font-size:12px;
  font-weight:500;
  letter-spacing:.02em;
  margin-bottom:12px
}
.required{
  color:#d75d26
}
.optional{
  font-size:11px;
  font-weight:400;
  color:var(--muted)
}
:focus-visible{
  outline:3px solid #e67a36;
  outline-offset:3px
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:13px;
  min-height:44px;
  padding:10px 20px;
  border:1px solid transparent;
  font-weight:500;
  line-height:1.6;
  text-align:center;
  transition:transform .18s,background-color .18s,box-shadow .18s;
  white-space:normal
}
.btn:hover{
  transform:translateY(-1px)
}
.btn-primary{
  background:var(--orange);
  color:#3f220d;
  box-shadow:0 9px 22px rgba(255,138,61,.2)
}
.btn-primary:hover{
  background:#ff9c55;
  color:#352015
}
.btn-outline{
  background:#fff;
  color:var(--ink);
  border-color:#ddccc0
}
.btn-outline:hover{
  background:#fff4ea;
  color:var(--ink)
}
.btn-quiet{
  background:#f8eee7;
  color:#543a2e
}
.btn-dark{
  background:#332a26;
  color:#fff
}
.btn-dark:hover{
  color:#fff;
  background:#47342c
}
.btn-danger{
  color:#fff;
  background:#b93330
}
.btn-small{
  min-height:38px;
  padding:7px 13px;
  font-size:12px;
  border-radius:10px
}
.btn-large{
  min-height:54px;
  padding:13px 25px
}
.full{
  width:100%
}
.text-link{
  font-weight:500;
  color:#b05f2c
}
.text-button{
  background:none;
  border:0;
  color:#a95e2e;
  padding:4px 0;
  cursor:pointer;
  font-weight:700
}
.danger{
  color:#b93330
}
.main-header{
  position:sticky;
  top:0;
  z-index:30;
  border-bottom:1px solid rgba(231,221,212,.9);
  background:rgba(255,253,251,.94);
  backdrop-filter:blur(14px)
}
.nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  height:80px
}
.brand{
  display:block;
  width:135px;
  flex:0 0 auto
}
.brand img{
  display:block;
  width:100%;
  height:auto;
  max-height:68px;
  object-fit:contain;
  object-position:center
}
.nav-links,.nav-actions{
  display:flex;
  gap:22px;
  align-items:center
}
.nav-links a{
  font-weight:500;
  color:#6f6660;
  font-size:13px;
  white-space:nowrap
}
.nav-links a.current,.nav-links a:hover{
  color:#d66b2a
}
.nav-actions{
  gap:9px
}
.nav-user{
  font-size:12px;
  font-weight:700
}
.nav-admin{
  color:#ad5423;
  font-size:12px;
  font-weight:700
}
.toast-wrap{
  position:relative;
  z-index:22
}
.toast{
  margin-top:16px;
  padding:13px 20px;
  background:#e7f7ec;
  border:1px solid #c2e6cf;
  color:#276441;
  border-radius:12px
}
.toast-error{
  color:#8c2828;
  background:#fff0ee;
  border-color:#ffd0c8
}
.hero{
  position:relative;
  overflow:hidden;
  background:radial-gradient(circle at 80% 28%,#fff2e8 0%,#fffaf6 54%,#fffdfb 100%)
}
.hero-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:40px;
  min-height:608px;
  padding-block:70px 80px
}
.hero-copy{
  position:relative;
  z-index:2
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#945c3d;
  background:#fff;
  border:1px solid #f2d6bf;
  padding:6px 13px;
  border-radius:99px;
  font-size:12px;
  font-weight:700
}
.eyebrow-dot{
  background:var(--orange);
  width:7px;
  height:7px;
  border-radius:99px
}
.hero h1{
  font-size:clamp(2.25rem,4.3vw,4.35rem);
  margin:27px 0 22px;
  line-height:1.43;
  letter-spacing:-.06em
}
.hero h1 em,.listing-head em,.auth-side em{
  font-style:normal;
  color:var(--orange-dark)
}
.hero h1 span{
  position:relative;
  z-index:1
}
.hero h1 span:after{
  content:'';
  position:absolute;
  height:13px;
  left:0;
  right:0;
  bottom:0;
  z-index:-1;
  background:#ffd9bb;
  border-radius:80%;
  transform:rotate(-1deg)
}
.hero-copy>p{
  font-size:16px;
  color:#645b56;
  max-width:520px;
  line-height:2.2
}
.hero-actions{
  display:flex;
  gap:13px;
  flex-wrap:wrap;
  margin-top:27px
}
.hero-visual{
  position:relative;
  height:440px;
  display:flex;
  align-items:center;
  justify-content:center
}
.hero-halo{
  position:absolute;
  width:min(100%,455px);
  aspect-ratio:1;
  right:50%;
  top:50%;
  transform:translate(50%,-50%) rotate(-9deg);
  border-radius:42% 58% 49% 51%;
  background:#ffddbe;
  box-shadow:inset 0 0 0 28px rgba(255,255,255,.3)
}
.hero-logo{
  position:relative;
  z-index:1;
  transform:rotate(-7deg);
  width:109%;
  filter:drop-shadow(0 28px 18px rgba(184,75,22,.13))
}
.hero-logo img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center
}
.hero-sticker{
  position:absolute;
  z-index:2;
  background:#fff;
  border:1px solid #f5ceaf;
  border-radius:15px;
  box-shadow:0 13px 30px rgba(111,74,44,.1);
  font-weight:900
}
.sticker-1{
  top:8%;
  right:-3%;
  padding:10px 17px;
  transform:rotate(8deg)
}
.sticker-1 span{
  color:#e37536
}
.sticker-2{
  bottom:1%;
  left:3%;
  padding:13px 22px;
  transform:rotate(-8deg);
  color:#7a4d2e
}
.sticker-2 strong{
  color:#e47937
}
.hero-orbit{
  position:absolute;
  border:2px solid rgba(238,146,88,.3);
  border-radius:50%;
  width:22px;
  height:22px;
  bottom:17%;
  right:7%
}
.orbit-two{
  width:12px;
  height:12px;
  top:14%;
  left:22%
}
.section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:33px
}
.section-head h2{
  margin-bottom:0
}
.section-aside{
  font-size:12px;
  color:#968a81
}
.steps-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px
}
.step{
  padding:32px;
  border:1px solid #eee3d9;
  border-radius:18px;
  background:#fff;
  position:relative;
  min-height:248px;
  box-shadow:0 8px 26px rgba(84,49,32,.028)
}
.step-count{
  position:absolute;
  top:25px;
  left:26px;
  color:#e4d4c8;
  font-size:19px;
  font-weight:500;
  letter-spacing:-.04em
}
.step-icon{
  height:64px;
  width:64px;
  display:grid;
  place-items:center;
  background:#fff0e3;
  color:#d56f31;
  border-radius:20px;
  font-size:34px;
  margin-bottom:24px
}
.step h3{
  margin-bottom:5px
}
.step p{
  font-size:13px;
  color:var(--muted);
  line-height:2
}
.latest-wrap{
  background:#fff8f2;
  border-block:1px solid #f3e8df
}
.cards-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:19px
}
.item-card{
  border:1px solid #eee1d6;
  background:#fff;
  border-radius:17px;
  overflow:hidden;
  min-width:0;
  box-shadow:0 7px 20px rgba(57,29,15,.034);
  transition:transform .18s,box-shadow .18s;
  color:var(--ink)
}
.item-card:hover{
  transform:translateY(-4px);
  box-shadow:0 17px 38px rgba(90,53,29,.09);
  color:var(--ink)
}
.card-photo{
  position:relative;
  aspect-ratio:1.2;
  background:var(--cream);
  overflow:hidden
}
.card-photo img{
  width:100%;
  height:100%;
  object-fit:cover
}
.card-photo img.is-placeholder{
  object-fit:contain;
  background:#fff2e7
}
.type-pill{
  position:absolute;
  right:13px;
  top:13px;
  font-size:11px;
  background:#fff;
  border-radius:99px;
  padding:3px 11px;
  font-weight:500;
  color:#a34e18
}
.type-pill.found{
  color:#287658
}
.type-pill.static{
  position:static;
  display:inline-flex
}
.item-body{
  padding:17px
}
.item-body h3{
  font-size:15px;
  line-height:1.65;
  margin:0 0 10px;
  min-height:48px
}
.item-meta{
  display:flex;
  align-items:center;
  gap:9px;
  color:#7c726b;
  font-size:11px;
  flex-wrap:wrap
}
.item-meta span+span:before{
  content:'•';
  margin-left:9px;
  color:#d6c3b4
}
.card-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
  margin-top:19px
}
.card-bottom small{
  color:#98867b;
  font-size:10px
}
.status-dot{
  color:#d07535;
  font-size:11px;
  font-weight:500;
  display:flex;
  align-items:center;
  gap:6px
}
.status-dot:before{
  content:'';
  height:7px;
  width:7px;
  border-radius:50%;
  background:#e89358
}
.status-dot.closed{
  color:var(--green)
}
.status-dot.closed:before{
  background:#64a88a
}
.item-author{
  border-top:1px solid #f4eee7;
  margin-top:14px;
  padding-top:10px;
  font-size:10px;
  color:#9c8e84
}
/* A lost-item tag gives the invitation its own visual identity. */
.cta-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 214px;
  align-items: center;
  gap: clamp(18px, 4vw, 76px);
  margin-block: 48px 110px;
  padding-block: 20px 24px;
  isolation: isolate;
}
.cta-shell::before {
  content: '';
  position: absolute;
  inset: 3% auto 1% -4%;
  width: 42%;
  border-radius: 53% 47% 41% 59% / 57% 49% 51% 43%;
  background: #fff0df;
  transform: rotate(-10deg);
  z-index: -1;
}
.cta-content {
  padding-inline-start: clamp(0px, 3vw, 32px);
}
.cta-content h2 {
  display: inline-block;
  margin: 0 0 16px;
  color: #493528;
  font-size: clamp(1.75rem, 3.2vw, 2.65rem);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: -.045em;
}
.cta-content h2 span {
  position: relative;
  display: table;
  width: max-content;
  max-width: 100%;
  color: #b45c2c;
  z-index: 0;
}
.cta-content h2 span::after {
  content: '';
  position: absolute;
  right: 0;
  left: 0;
  bottom: 7px;
  height: 9px;
  background: #ffe0ba;
  transform: rotate(-1deg);
  border-radius: 35% 65% 56% 44%;
  z-index: -1;
}
.cta-content p {
  max-width: 490px;
  margin: 0 0 23px;
  color: #796a5e;
  font-size: 13px;
}
.cta-link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 42px;
  padding: 8px 20px;
  background: #fbe7d4;
  color: #824323;
  border: 1px solid #f0c7a5;
  border-radius: 13px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: background-color .18s, border-color .18s, color .18s;
}
.cta-link:hover {
  background: #ffd7b5;
  border-color: #e8a97b;
  color: #63321b;
}
.cta-art {
  position: relative;
  display: grid;
  place-items: center;
  width: 214px;
  height: 205px;
}
.cta-art::after {
  content: '';
  position: absolute;
  right: 14px;
  bottom: 30px;
  width: 18px;
  height: 18px;
  border: 3px solid #edb98d;
  border-radius: 50%;
}
.cta-tag {
  position: relative;
  display: grid;
  place-items: center;
  width: 124px;
  height: 150px;
  border: 2px solid #c46b34;
  border-radius: 26px 26px 22px 9px;
  background: linear-gradient(145deg, #ffdfb8, #ffbb79);
  box-shadow: -9px 10px 0 rgba(191, 96, 41, .12);
  transform: rotate(-13deg);
}
.cta-tag::before {
  content: '';
  position: absolute;
  right: 15px;
  top: 14px;
  width: 13px;
  height: 13px;
  border: 2px solid #c46b34;
  border-radius: 50%;
  background: #fff6ea;
}
.cta-tag span {
  color: #93491f;
  font-size: 76px;
  font-weight: 500;
  line-height: 1;
  transform: rotate(13deg) translateY(7px);
}
@media (max-width: 760px) {
  .cta-shell {
    grid-template-columns: minmax(0, 1fr) 140px;
    gap: 12px;
    margin-block: 40px 70px;
    padding-block: 12px 24px;
  }
  .cta-shell::before { width: 41%; left: -3%; }
  .cta-content { padding-inline-start: 0; }
  .cta-content h2 { font-size: clamp(1.45rem, 5vw, 2.05rem); }
  .cta-content h2 span::after { bottom: 4px; height: 7px; }
  .cta-art { width: 140px; height: 156px; }
  .cta-tag { width: 89px; height: 111px; border-radius: 20px 20px 17px 7px; }
  .cta-tag span { font-size: 55px; }
  .cta-art::after { width: 12px; height: 12px; right: 3px; bottom: 21px; }
}
@media (max-width: 490px) {
  .cta-shell { grid-template-columns: minmax(0, 1fr) 94px; gap: 7px; }
  .cta-art { width: 94px; height: 135px; }
  .cta-tag { width: 69px; height: 90px; }
  .cta-tag::before { width: 9px; height: 9px; right: 9px; top: 9px; }
  .cta-tag span { font-size: 44px; }
  .cta-art::after { right: 0; bottom: 12px; width: 9px; height: 9px; border-width: 2px; }
  .cta-content h2 { font-size: clamp(1.25rem, 5vw, 1.6rem); margin-bottom: 8px; }
  .cta-content p { font-size: 12px; line-height: 1.9; margin-bottom: 14px; }
  .cta-link { padding: 6px 14px; min-height: 38px; font-size: 11px; }
}
.footer {
  border-top: 1px solid #f0e2d5;
  background: linear-gradient(145deg,#fffaf6 0%,#fff 70%);
}
.footer-inner {
  display: grid;
  grid-template-columns: minmax(150px,1fr) minmax(200px,1.35fr) auto;
  align-items: center;
  gap: 36px;
  padding-block: 42px;
}
.footer-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.footer-brand img { width: 136px; max-height: 68px; height: auto; object-fit: contain; }
.footer-brand span { font-size: 12px; color: #946f58; }
.footer-about strong { display: block; font-size: 14px; margin-bottom: 3px; }
.footer-about p { margin: 0; color: #827167; font-size: 12px; max-width: 340px; }
.footer-links { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.footer-links a {
  border: 1px solid #efdfd0;
  border-radius: 11px;
  color: #855338;
  background: #fff;
  font-size: 12px;
  padding: 8px 13px;
  transition: background-color .2s, border-color .2s;
}
.footer-links a:hover { background: #fff0e3; border-color: #f0c7a9; }
.footer-credit a {
  color: #772b1a;
  font-weight: 700;
  text-decoration: none;
  transition: color .2s ease;
}
.footer-credit a:hover {
  color: #45190f;
  text-decoration: none;
}
.footer-credit a:focus-visible {
  color: #45190f;
  text-decoration: none;
  outline: 2px solid currentColor;
  outline-offset: 3px;
  border-radius: 2px;
}
.footer-credit {
  background: #ff8a3d;
  color: #462610;
  border-top: 1px solid #ef792e;
  text-align: center;
  padding: 13px 16px;
  font-size: 12px;
  font-weight: 500;
}
.listing-head{
  padding-top:55px;
  padding-bottom:30px
}
.listing-head h1{
  font-size:clamp(1.9rem,3.5vw,2.9rem);
  margin-bottom:12px
}
.listing-head p{
  color:var(--muted)
}
.listing-layout{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:25px;
  align-items:start;
  padding-bottom:92px
}
.filters{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:23px;
  position:sticky;
  top:100px
}
.filter-title{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:21px
}
.filter-title h2{
  font-size:16px;
  margin:0
}
.filter-title a{
  font-size:11px;
  color:#cb7040
}
.filter-form{
  display:grid;
  gap:15px
}
.filter-form label,.stack-form label,.danger-zone label{
  display:grid;
  gap:7px;
  font-size:12px;
  font-weight:700
}
.filter-form input,.filter-form select,.stack-form input,.stack-form select,.stack-form textarea,.admin-search input,.admin-search select,.category-row input{
  width:100%;
  min-height:44px;
  padding:11px 13px;
  border:1px solid #e3d9d1;
  border-radius:11px;
  background:#fff;
  color:var(--ink);
  outline:none;
  appearance:auto
}
.stack-form textarea{
  resize:vertical;
  min-height:115px
}
.filter-form input:focus,.filter-form select:focus,.stack-form input:focus,.stack-form textarea:focus,.stack-form select:focus,.admin-search input:focus{
  border-color:#f5a26f;
  box-shadow:0 0 0 3px #fff2e7
}
.results-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:18px
}
.results-bar strong{
  font-size:15px
}
.results-bar span{
  color:#8c7e75;
  font-size:12px
}
.cards-list{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px
}
.pagination{
  display:flex;
  gap:6px;
  align-items:center;
  justify-content:center;
  margin-top:35px
}
.pagination a{
  display:grid;
  place-items:center;
  min-width:37px;
  height:37px;
  border-radius:9px;
  border:1px solid var(--line);
  background:#fff
}
.pagination a.on{
  background:var(--orange);
  border-color:var(--orange);
  font-weight:900
}
.empty{
  text-align:center;
  padding:70px 20px;
  background:#fff;
  border:1px dashed #eadbcd;
  border-radius:20px
}
.empty-inline{
  padding:45px
}
.empty-icon{
  width:64px;
  height:64px;
  border-radius:50%;
  background:#fff0e2;
  display:grid;
  place-items:center;
  color:#c8733d;
  font-size:35px;
  font-weight:500;
  margin:0 auto 16px
}
.empty h2,.empty h3{
  margin-bottom:5px
}
.empty p{
  color:#8a7c72;
  font-size:13px
}
.empty .btn{
  margin-top:12px
}
.breadcrumbs{
  display:flex;
  gap:12px;
  align-items:center;
  color:#9b8f86;
  font-size:12px;
  margin-bottom:30px
}
.breadcrumbs a{
  color:#c36c38
}
.detail-page{
  padding-top:45px;
  padding-bottom:90px
}
.detail-layout{
  display:grid;
  grid-template-columns:48% 1fr;
  gap:55px;
  align-items:start
}
.detail-photo{
  border-radius:24px;
  overflow:hidden;
  background:#fff0e5;
  border:1px solid #f0e0d5;
  aspect-ratio:1
}
.detail-photo img{
  width:100%;
  height:100%;
  object-fit:cover
}
.detail-info{
  padding-top:7px
}
.detail-pills{
  display:flex;
  align-items:center;
  gap:10px
}
.detail-status{
  font-size:11px;
  background:#f8eee8;
  padding:3px 12px;
  border-radius:99px;
  color:#906141
}
.detail-info h1{
  font-size:clamp(2rem,3.2vw,3rem);
  margin:16px 0 9px
}
.detail-author{
  color:#84776e;
  font-size:13px
}
.detail-author strong{
  color:#5b3f2c
}
.detail-facts{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:13px;
  margin:32px 0;
  border-block:1px solid var(--line);
  padding-block:23px
}
.detail-facts>div{
  display:flex;
  flex-direction:column;
  gap:2px
}
.detail-facts span{
  color:#8a7d73;
  font-size:11px
}
.detail-facts strong{
  font-size:13px
}
.detail-info h2{
  font-size:17px
}
.detail-description{
  line-height:2.3;
  font-size:14px;
  overflow-wrap:anywhere
}
.contact-panel{
  background:#fff1e4;
  padding:20px;
  border-radius:16px;
  margin-top:27px;
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:center
}
.contact-panel>div{
  display:flex;
  flex-direction:column;
  gap:2px
}
.contact-panel small{
  color:#906b51
}
.contact-panel strong{
  font-size:12px
}
.contact-value{
  font-weight:500;
  font-size:17px;
  overflow-wrap:anywhere
}
.privacy-note{
  font-size:11px;
  color:#8d7b70;
  margin-top:14px
}
.auth-layout{
  min-height:calc(100vh - 220px);
  padding-block:80px;
  display:grid;
  grid-template-columns:1fr 480px;
  gap:70px;
  align-items:center
}
.auth-side h1{
  font-size:clamp(2.15rem,3.8vw,3.5rem)
}
.auth-side p{
  color:var(--muted);
  max-width:400px;
  line-height:2.3
}
.auth-badge{
  display:inline-block;
  margin-top:18px;
  background:#fff0e3;
  padding:13px 19px;
  border-radius:13px;
  font-weight:500;
  color:#ad5c2b;
  transform:rotate(-3deg)
}
.form-card{
  padding:32px;
  border:1px solid #ebdfd5;
  background:#fff;
  border-radius:21px;
  box-shadow:var(--shadow)
}
.form-card h2{
  font-size:22px;
  margin:0 0 5px
}
.subtext{
  font-size:12px;
  color:#83766e;
  margin-bottom:25px
}
.stack-form{
  display:grid;
  gap:18px
}
.field-hint{
  font-size:11px;
  color:#8d7768;
  font-weight:400;
  line-height:2
}
.form-end{
  text-align:center;
  margin:21px 0 0;
  font-size:12px;
  color:var(--muted)
}
.form-end a{
  color:#b65e2b;
  font-weight:700
}
.auth-alone{
  padding-block:85px
}
.auth-alone .form-card h1{
  font-size:26px
}
.otp-input{
  text-align:center;
  font-size:24px!important;
  letter-spacing:12px
}
.resend-form{
  display:flex;
  justify-content:center;
  margin:17px 0
}
.form-page{
  padding-block:50px 90px;
  max-width:940px
}
.form-page-title{
  margin-bottom:25px
}
.form-page-title h1{
  font-size:clamp(1.8rem,3vw,2.8rem);
  margin:0 0 9px
}
.form-page-title p{
  color:var(--muted)
}
.item-form{
  background:#fff;
  border:1px solid var(--line);
  border-radius:23px;
  padding:30px 37px
}
.form-section{
  display:grid;
  grid-template-columns:50px 1fr;
  gap:15px;
  border-bottom:1px solid var(--line);
  padding-block:28px
}
.form-section:first-child{
  padding-top:0
}
.form-section:last-of-type{
  border-bottom:0
}
.form-step{
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#fff0e3;
  color:#bd5a24;
  font-size:18px;
  font-weight:500;
  width:42px;
  height:42px
}
.form-section h2{
  font-size:18px;
  margin:0 0 5px
}
.form-section p{
  font-size:12px;
  color:var(--muted)
}
.kind-switch{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:18px
}
.kind-switch label{
  position:relative
}
.kind-switch input{
  position:absolute;
  opacity:0;
  inset:0
}
.kind-switch span{
  display:block;
  border:1.5px solid #e5d6c8;
  border-radius:12px;
  text-align:center;
  padding:16px;
  font-weight:500;
  cursor:pointer
}
.kind-switch input:checked+span{
  border-color:#eb873e;
  background:#fff1e5;
  color:#bd5c22
}
.kind-switch input:focus-visible+span{
  outline:3px solid var(--orange)
}
.two-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px
}
.warn-note{
  font-size:12px;
  color:#955b36;
  background:#fff3e8;
  border:1px solid #f6dcc7;
  padding:13px;
  border-radius:12px;
  line-height:2
}
.image-current{
  display:flex;
  align-items:center;
  gap:20px
}
.image-current img{
  width:110px;
  aspect-ratio:1;
  object-fit:cover;
  border-radius:12px
}
.inline-check{
  display:flex!important;
  align-items:center;
  gap:8px!important
}
.inline-check input{
  width:auto!important;
  min-height:auto!important
}
.form-bottom{
  display:flex;
  justify-content:flex-end;
  gap:12px;
  padding-top:22px
}
.dashboard{
  padding-block:55px 90px
}
.dashboard-welcome{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  margin-bottom:35px
}
.dashboard-welcome h1{
  font-size:36px;
  margin:0
}
.dashboard-welcome h1 span{
  color:var(--orange)
}
.dashboard-welcome p{
  color:var(--muted)
}
.account-line{
  display:flex;
  gap:25px;
  align-items:center;
  background:#fff4ec;
  border-radius:18px;
  padding:24px;
  margin-bottom:44px;
  flex-wrap:wrap
}
.account-line>div{
  display:flex;
  flex-direction:column;
  min-width:160px
}
.account-line span{
  font-size:11px;
  color:#927b6b
}
.account-line strong{
  font-size:13px
}
.account-line form{
  margin-right:auto
}
.dash-list{
  display:grid;
  gap:12px
}
.dash-row{
  display:flex;
  align-items:center;
  gap:18px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:17px;
  padding:14px
}
.dash-row>img{
  width:100px;
  height:100px;
  border-radius:11px;
  object-fit:cover
}
.dash-row-main{
  flex:1;
  min-width:0
}
.dash-row-main h3{
  margin:1px 0
}
.dash-row-main small{
  color:#8d7d71
}
.mini-type{
  font-size:11px;
  color:#c1692f
}
.dash-row-actions{
  display:flex;
  gap:7px;
  align-items:center;
  flex-wrap:wrap
}
.admin-screen{
  padding-block:44px 90px
}
.admin-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center
}
.admin-head h1{
  font-size:30px;
  margin:0
}
.admin-head p{
  color:var(--muted)
}
.admin-tabs{
  display:flex;
  gap:8px;
  overflow:auto;
  padding-block:14px;
  margin-bottom:24px;
  border-bottom:1px solid var(--line)
}
.admin-tabs a{
  white-space:nowrap;
  padding:7px 15px;
  border-radius:9px;
  font-weight:500;
  font-size:12px
}
.admin-tabs a.on{
  background:#fff0e3;
  color:#ba602d
}
.admin-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px
}
.admin-stats>div{
  background:#fff;
  border:1px solid var(--line);
  padding:27px;
  border-radius:16px;
  display:flex;
  flex-direction:column
}
.admin-stats small{
  color:#89786b
}
.admin-stats strong{
  font-size:34px;
  line-height:1.6
}
.admin-help{
  margin-top:25px;
  background:#fff3e8;
  border:1px solid #f4dfd0;
  padding:24px;
  border-radius:15px
}
.admin-help h2{
  font-size:18px
}
.admin-search{
  display:flex;
  gap:10px;
  margin-bottom:18px
}
.admin-search input{
  flex:1
}
.admin-search select{
  max-width:170px
}
.admin-table-wrap{
  overflow:auto;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff
}
.admin-table{
  width:100%;
  border-collapse:collapse;
  min-width:650px;
  font-size:12px
}
.admin-table th{
  text-align:right;
  background:#fff5ed;
  color:#755641;
  padding:16px;
  font-weight:500;
  white-space:nowrap
}
.admin-table td{
  padding:14px 16px;
  border-top:1px solid #f1e8e0
}
.admin-table td a{
  color:#c26b35;
  font-weight:700
}
.admin-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px;
  margin-top:23px
}
.admin-mini-panel{
  border:1px solid var(--line);
  padding:25px;
  border-radius:15px;
  background:#fff;
  margin-bottom:20px
}
.admin-mini-panel h2{
  font-size:18px
}
.admin-mini-panel p{
  border-bottom:1px solid var(--line);
  padding-bottom:10px
}
.admin-pending{
  padding:18px;
  background:#fff4e9;
  border-radius:13px;
  margin-top:20px
}
.admin-pending h3{
  font-size:16px
}
.admin-actions{
  display:flex;
  gap:10px;
  margin-bottom:25px
}
.danger-zone{
  padding:22px;
  border:1px solid #f4ccc5;
  background:#fff7f6;
  border-radius:15px;
  margin-top:23px
}
.danger-zone h3{
  color:#ac3b36
}
.danger-zone form{
  display:grid;
  gap:12px
}
.category-row{
  display:grid;
  grid-template-columns:1fr 72px auto auto;
  gap:9px;
  align-items:center;
  padding:8px 0;
  border-bottom:1px solid var(--line)
}
.category-row .order-input{
  max-width:70px
}
.loader{
  position:fixed;
  inset:0;
  z-index:99;
  display:grid;
  place-items:center;
  opacity:1;
  transition:opacity .32s ease
}
.loader-glass{
  position:absolute;
  inset:0;
  background:rgba(255,249,243,.72);
  backdrop-filter:blur(9px)
}
.loader-inside{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  width:100%;
  padding-inline:18px
}
.animated-logo{
  width:min(430px,92vw);
  aspect-ratio:3/2;
  position:relative;
  isolation:isolate
}
.animated-logo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain
}
.animated-logo .loader-dot{
  animation:dot-jump 1.2s cubic-bezier(.24,.64,.38,1) infinite;
  transform-origin:29.3% 30.8%;
  will-change:transform
}
.loader-inside p{
  margin:-12px 0 0;
  color:#aa683c;
  font-weight:500;
  font-size:12px
}
.has-preloader{
  overflow:hidden
}
.has-preloader #site-shell{
  filter:blur(5px);
  pointer-events:none;
  user-select:none
}
.loader.is-hidden{
  opacity:0;
  pointer-events:none
}
@keyframes dot-jump{
  0%,100%{
    transform:translateY(0) scale(1,1)
  }
  12%{
    transform:translateY(3px) scale(1.045,.94)
  }
  39%{
    transform:translateY(-32px) scale(.97,1.04)
  }
  51%{
    transform:translateY(-30px)
  }
  66%{
    transform:translateY(0) scale(1.04,.94)
  }
  78%{
    transform:translateY(-8px) scale(.99,1.01)
  }
  90%{
    transform:translateY(0)
  }
}
@media(max-width:1050px){
  .hero-layout{
    gap:10px
  }
  .cards-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .cards-list{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .listing-layout{
    grid-template-columns:240px 1fr
  }
  .detail-layout{
    gap:25px
  }
  .auth-layout{
    gap:35px;
    grid-template-columns:1fr 1fr
  }
}
@media(max-width:760px){
  .container{
    width:min(100% - 30px,1160px)
  }
  .nav-inner{
    height:68px;
    gap:10px
  }
  .brand{
    width:107px
  }
  .nav-links{
    gap:11px
  }
  .nav-links a{
    font-size:11px
  }
  .nav-actions .btn-small{
    padding:7px 8px;
    min-height:33px
  }
  .nav-user{
    max-width:90px;
    white-space:nowrap;
    text-overflow:ellipsis;
    overflow:hidden
  }
  .hero-layout{
    grid-template-columns:1fr;
    padding-block:55px 58px;
    min-height:unset
  }
  .hero h1{
    font-size:clamp(2.4rem,8vw,3.5rem)
  }
  .hero-visual{
    height:340px;
    margin-top:8px
  }
  .hero-logo{
    width:95%
  }
  .sticker-1{
    right:0
  }
  .section-pad{
    padding-block:60px
  }
  .steps-grid{
    grid-template-columns:1fr
  }
  .step{
    min-height:0
  }
  .section-aside{
    display:none
  }
  .listing-layout{
    grid-template-columns:1fr
  }
  .filters{
    position:static
  }
  .filter-form{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .filter-form .full{
    grid-column:1/-1
  }
  .detail-layout{
    grid-template-columns:1fr
  }
  .detail-photo{
    max-height:510px
  }
  .auth-layout{
    grid-template-columns:1fr;
    gap:30px;
    padding-block:48px
  }
  .auth-side h1{
    font-size:34px
  }
  .auth-side p{
    max-width:600px
  }
  .auth-badge{
    display:none
  }
  .form-page{
    padding-block:32px 65px
  }
  .item-form{
    padding:23px
  }
  .dashboard-welcome{
    align-items:start
  }
  .dashboard-welcome h1{
    font-size:28px
  }
  .dash-row{
    flex-wrap:wrap
  }
  .dash-row-actions{
    width:100%;
    border-top:1px solid #f5ede5;
    padding-top:12px
  }
  .admin-columns{
    grid-template-columns:1fr
  }
  .admin-stats{
    grid-template-columns:repeat(2,1fr)
  }
}
@media(max-width:490px){
  .nav-inner{
    gap:8px
  }
  .nav-links a:first-child{
    display:none
  }
  .nav-links{
    gap:8px
  }
  .nav-actions .btn-quiet{
    display:none
  }
  .brand{
    width:93px
  }
  .nav-admin{
    font-size:10px
  }
  .hero-visual{
    height:260px
  }
  .hero-halo{
    max-width:270px
  }
  .hero-sticker{
    font-size:11px
  }
  .cards-grid,.cards-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px
  }
  .card-photo{
    aspect-ratio:1
  }
  .item-body{
    padding:12px
  }
  .item-body h3{
    font-size:12px;
    min-height:44px
  }
  .card-bottom{
    flex-wrap:wrap
  }
  .card-bottom small,.item-author{
    font-size:9px
  }
  .section-head{
    align-items:start
  }
  .section-head h2{
    font-size:21px
  }
  .text-link{
    font-size:11px
  }
  .filter-form{
    grid-template-columns:1fr
  }
  .two-fields,.kind-switch{
    grid-template-columns:1fr
  }
  .form-section{
    grid-template-columns:1fr;
    gap:6px
  }
  .form-card,.item-form{
    padding:22px
  }
  .contact-panel{
    align-items:stretch;
    flex-direction:column
  }
  .footer-inner {
    grid-template-columns: 1fr;
    text-align: center;
    justify-items: center;
    gap: 19px;
    padding-block: 32px;
  }
  .footer-brand { align-items: center; }
  .footer-links { justify-content: center; }
  .account-line{
    flex-direction:column;
    align-items:flex-start
  }
  .account-line form{
    margin-right:0
  }
  .dashboard-welcome{
    flex-direction:column
  }
  .admin-search{
    flex-wrap:wrap
  }
  .admin-search select{
    max-width:none
  }
  .admin-stats{
    grid-template-columns:1fr 1fr
  }
  .admin-stats>div{
    padding:18px
  }
  .category-row{
    grid-template-columns:1fr 56px;
    gap:7px
  }
  .category-row label,.category-row button{
    justify-self:start
  }
}
@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto
  }
  .animated-logo .loader-dot{
    animation:none
  }
  .btn,.item-card{
    transition:none
  }
  .loader{
    transition:none
  }
}
.report-box{
  margin-top:30px;
  padding:18px 20px;
  border:1px dashed #e6d2c2;
  border-radius:13px
}
.report-box summary{
  cursor:pointer;
  color:#a36844;
  font-size:12px;
  font-weight:700
}
.report-box form{
  margin-top:18px
}
.report-box button{
  justify-self:start
}

/* Local fonts are intentionally served from this project's assets directory. */
@font-face {
  font-family: 'DanaFaNum';
  src: url('../fonts/dana-fanum-regular.woff2') format('woff2'),
       url('../fonts/dana-fanum-regular.woff') format('woff');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'DanaFaNum';
  src: url('../fonts/dana-fanum-medium.woff2') format('woff2'),
       url('../fonts/dana-fanum-medium.woff') format('woff');
  font-style: normal;
  font-weight: 500 900;
  font-display: swap;
}

/* Keep heavier type readable without overwhelming the rest of the UI. */
strong, b { font-weight: 500; font-size: .97em; }

@media (max-width: 850px) {
  .footer-inner { grid-template-columns: 1fr; text-align: center; justify-items: center; gap: 19px; padding-block: 32px; }
  .footer-brand { align-items: center; }
  .footer-links { justify-content: center; }
}

/* Helpful inline feedback for registration, login and SMS verification. */
.auth-message {
  padding: 11px 14px;
  background: #fff0ed;
  color: #9c302e;
  border: 1px solid #edb3ad;
  border-radius: 12px;
  line-height: 1.8;
  font-size: 12px;
}
.auth-message[hidden], .input-error[hidden] { display: none; }
.auth-message.is-success {
  color: #24664c;
  border-color: #b3dfc9;
  background: #ecfaf2;
}
.stack-form .is-invalid,
.stack-form .is-invalid:focus {
  border-color: #cc4a43;
  background: #fff9f8;
  box-shadow: 0 0 0 3px rgba(204,74,67,.12);
}
.input-error {
  display: block;
  color: #aa3933;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.7;
  margin-top: -1px;
}
.stack-form button[disabled], .resend-form button[disabled] {
  opacity: .65;
  cursor: not-allowed;
  transform: none;
}
.resend-form {
  flex-direction: column;
  align-items: center;
  gap: 3px;
}
.resend-form .auth-message { width: 100%; text-align: center; }
.resend-countdown {
  color: #8e6c5a;
  font-size: 11px;
  margin: 0;
}
.auth-alone .field-hint a { color: #b15e28; text-decoration: underline; text-underline-offset: 3px; }

/* Jamond floating island navigation + responsive header (v13). */
html { max-width:100%; overflow-x:clip; }
body { width:100%; max-width:100%; overflow-x:clip; }
.site-shell, main, .hero, .latest-wrap, .footer, .footer-credit { max-width:100%; }
.container { min-width:0; }
.hero-layout, .hero-copy, .hero-visual, .cta-content,
.listing-layout, .listing-results, .detail-layout, .detail-info,
.auth-layout, .form-section > div, .footer-inner, .dashboard,
.dash-row-main, .dash-row-actions { min-width:0; }
.hero-layout { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.listing-layout { grid-template-columns:280px minmax(0,1fr); }
.hero-copy h1, .hero-copy p, .cta-content h2 { overflow-wrap:anywhere; }
.ui-icon { display:block; flex:none; }
.header-motto { color:#9b7159; font-size:12px; font-weight:500; flex:1; padding-inline:12px; }
.header-motto span { color:var(--orange-dark); }
.nav-inner { gap:18px; }
.nav-actions { margin-inline-start:auto; gap:11px; }
.header-account { display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:500; color:#5d4130; border:1px solid #eedacf; padding:7px 12px; background:#fff8f3; border-radius:13px; }
.header-account:hover { background:#fff0e3; }
.header-account .ui-icon { width:19px; height:19px; }
.notice-menu { position:relative; }
.notice-menu summary { list-style:none; cursor:pointer; display:grid; place-items:center; width:43px; height:43px; border-radius:14px; border:1px solid #f0d9c7; background:#fff5ed; color:#753d22; transition:background-color .15s,border-color .15s; }
.notice-menu summary::-webkit-details-marker { display:none; }
.notice-menu[open] summary, .notice-menu summary:hover { background:#ffe3ca; border-color:#f4b77f; }
.notice-menu summary:focus-visible { outline:3px solid #e67a36; outline-offset:3px; }
.notice-panel { position:absolute; top:calc(100% + 13px); inset-inline-end:0; z-index:45; width:min(350px,calc(100vw - 32px)); padding:19px 20px; background:#fffefa; border:1px solid #f0ddce; border-radius:21px; box-shadow:0 23px 70px rgba(93,44,20,.19); color:var(--ink); }
.notice-panel h2 { font-size:17px; margin:0 0 4px; }
.notice-panel h2 span { color:#ec863a; }
.notice-panel p { font-size:11px; color:#867366; line-height:1.9; margin:0 0 12px; }
.notice-panel ul { list-style:none; padding:0; margin:0; }
.notice-panel li + li { border-top:1px solid #f4e8de; }
.notice-panel li a { display:flex; align-items:start; gap:9px; padding:11px 0; font-size:12px; line-height:1.8; }
.notice-panel li a span:last-child { min-width:0; overflow-wrap:anywhere; }
.notice-kind { flex:none; white-space:nowrap; font-size:10px; background:#fff0e4; border-radius:15px; padding:1px 8px; color:#9b5629; }
.notice-all { display:block; padding:9px 12px; text-align:center; background:#fff0e4; border-radius:11px; font-size:12px; font-weight:500; color:#91491f; margin-top:9px; }
.notice-all:hover { background:#ffdec4; }

.floating-nav {
  position:fixed; z-index:80;
  left:50%; bottom:max(18px,env(safe-area-inset-bottom,0px));
  transform:translateX(-50%);
  display:flex; align-items:center; justify-content:space-around;
  gap:3px; width:min(590px,calc(100vw - 32px));
  min-height:78px; padding:9px 13px;
  border:1px solid rgba(238,197,166,.95);
  border-radius:27px;
  background:rgba(255,253,249,.96);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  box-shadow:0 17px 52px rgba(99,49,25,.17),0 4px 14px rgba(99,49,25,.08);
  direction:rtl;
}
.float-link { min-width:0; flex:1 1 0; min-height:60px; display:flex; flex-direction:column; gap:5px; align-items:center; justify-content:center; text-align:center; border-radius:18px; padding:5px 1px; color:#84736a; font-size:10px; font-weight:500; line-height:1.35; transition:background-color .18s,color .18s; }
.float-link span:last-child { white-space:nowrap; }
.float-link .ui-icon { width:23px; height:23px; }
.float-link[aria-current="page"], .float-link:hover { background:#fff0e3; color:#b45822; }
.float-create { color:#703517; gap:4px; }
.float-create-icon { display:grid; place-items:center; width:51px; height:51px; background:linear-gradient(145deg,#ffad57,#f57a25); color:#fff; border-radius:17px; box-shadow:0 7px 17px rgba(232,101,34,.28); margin-top:-18px; border:3px solid #fffefa; transform:rotate(-4deg); transition:transform .18s; }
.float-create-icon .ui-icon { width:26px; height:26px; }
.float-create:hover .float-create-icon, .float-create[aria-current="page"] .float-create-icon { transform:rotate(0deg) translateY(-2px); }
.float-create:hover, .float-create[aria-current="page"] { background:transparent; color:#9b481b; }
body { padding-bottom:110px; }
#my-items, #profile { scroll-margin-top:110px; }

/* Friendly error views keep the rest of the site's visual language. */
.error-layout { display:grid; grid-template-columns:minmax(0, .85fr) minmax(0,1fr); align-items:center; gap:clamp(22px,6vw,85px); padding-block:clamp(65px,10vw,140px); min-height:65vh; }
.error-graphic { position:relative; isolation:isolate; display:flex; align-items:center; justify-content:center; aspect-ratio:1; max-width:410px; width:100%; margin-inline:auto; }
.error-graphic::before { content:""; position:absolute; inset:9%; border-radius:43% 57% 64% 36% / 56% 46% 54% 44%; background:#ffead8; z-index:-1; transform:rotate(-11deg); }
.error-number { font-family:'DanaFaNum',Tahoma,sans-serif; font-size:clamp(7.6rem,19vw,13rem); letter-spacing:-.09em; line-height:1; font-weight:900; color:#e87a36; text-shadow:6px 7px 0 #ffbf86; transform:rotate(-7deg); }
.error-spark { position:absolute; right:8%; top:9%; color:#ff9a3e; font-size:48px; transform:rotate(16deg); }
.error-face { position:absolute; left:5%; bottom:12%; display:grid; place-items:center; background:#fff; border:1px solid #f4c9a9; border-radius:17px; width:67px; height:67px; font-size:43px; font-weight:500; color:#ce6b33; transform:rotate(12deg); box-shadow:0 14px 27px rgba(119,65,28,.1); }
.error-copy { min-width:0; }
.error-copy h1 { margin:0 0 14px; font-size:clamp(1.85rem,3.5vw,3rem); }
.error-copy p { color:#76675d; font-size:15px; line-height:2.25; max-width:480px; }
.error-actions { display:flex; flex-wrap:wrap; gap:12px; margin:27px 0 17px; }
.error-copy small { color:#aa8c77; }

@media(max-width:1050px){
  .listing-layout { grid-template-columns:240px minmax(0,1fr); }
}
@media(max-width:760px){
  .container { width:calc(100% - 30px); }
  .nav-inner { min-width:0; gap:10px; height:68px; }
  .header-motto { display:none; }
  .nav-actions { gap:7px; }
  .header-account { padding:7px 10px; }
  .hero-layout { grid-template-columns:minmax(0,1fr); }
  .hero-visual { width:100%; max-width:100%; }
  .listing-layout,.detail-layout,.auth-layout { grid-template-columns:minmax(0,1fr); }
  .error-layout { grid-template-columns:minmax(0,1fr); text-align:center; gap:8px; padding-block:33px 88px; }
  .error-graphic { max-width:235px; }
  .error-spark { font-size:30px; }
  .error-face { width:46px; height:46px; font-size:30px; }
  .error-number { font-size:clamp(6rem,21vw,9rem); }
  .error-copy p { margin-inline:auto; }
  .error-actions { justify-content:center; }
  .floating-nav { width:min(530px,calc(100vw - 26px)); border-radius:23px; }
}
@media(max-width:490px){
  .nav-inner { gap:7px; }
  .header-register { display:none; }
  .header-login { min-height:40px; padding:7px 11px; }
  .header-account span { display:none; }
  .header-account { width:43px; height:43px; justify-content:center; padding:0; }
  .notice-menu summary { width:42px; height:42px; }
  .notice-panel { inset-inline-end:-55px; }
  .hero-layout,.hero-copy,.cta-shell,.cta-content { min-width:0; }
  .cta-shell { grid-template-columns:minmax(0,1fr) minmax(0,94px); }
  .hero-logo { width:min(95%,430px); }
  .hero-actions .btn { max-width:100%; }
  .floating-nav { width:calc(100vw - 20px); padding:9px 5px 6px; gap:0; min-height:73px; border-radius:22px; bottom:max(10px,env(safe-area-inset-bottom,0px)); }
  .float-link { font-size:9px; min-height:56px; padding:5px 0; }
  .float-link .ui-icon { width:21px; height:21px; }
  .float-create-icon { width:46px; height:46px; border-radius:16px; margin-top:-17px; }
  .float-create-icon .ui-icon { width:25px; height:25px; }
  body { padding-bottom:103px; }
  .error-copy h1 { font-size:clamp(1.7rem,7vw,2.3rem); }
}
@media(max-width:355px){
  .floating-nav { width:calc(100vw - 12px); padding-inline:2px; }
  .float-link { font-size:8px; }
  .float-link .ui-icon { width:20px; height:20px; }
  .brand { width:83px; }
}
@media(prefers-reduced-motion:reduce){
  .float-link,.float-create-icon,.notice-menu summary { transition:none; }
}

.footer-latin { font-family:Tahoma,Arial,sans-serif; font-size:10px; color:#aa8b75; letter-spacing:.02em; line-height:1.4; }
@media(max-width:490px){.hero .eyebrow { max-width:100%; font-size:10px; padding:5px 10px; }}

/* Private management dashboard: still uses Jamond's warm, conversational design. */
.is-admin-page { padding-bottom:0; }
.is-admin-page .floating-nav { display:none; }
.admin-login-screen { min-height:65vh; display:grid; place-items:center; padding-block:60px 90px; }
.admin-login-card { width:min(100%,445px); padding:clamp(24px,5vw,42px); border:1px solid #f1d7c6; border-radius:28px; background:linear-gradient(150deg,#fff,#fff5eb); box-shadow:0 18px 55px rgba(118,60,25,.08); }
.admin-login-card h1 { font-size:clamp(24px,4vw,32px); margin:12px 0 4px; }
.admin-login-card h1 span { color:#f18a42; }
.admin-login-card p { color:#857366; font-size:13px; margin-bottom:23px; }
.admin-login-card .text-link { display:inline-block; margin-top:20px; }
.admin-head-actions { display:flex; flex-wrap:wrap; gap:9px; align-items:center; }
.admin-head-actions form { margin:0; }
.admin-screen { padding-bottom:90px; }
.admin-topline { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:0 0 15px; }
.admin-topline>span { font-size:17px; font-weight:700; }
.admin-topline p { margin:0; }
.admin-stats-expanded { grid-template-columns:repeat(3,minmax(0,1fr)); }
.admin-stats-expanded>div { min-width:0; padding:20px 23px; background:linear-gradient(155deg,#fff,#fffaf7); }
.admin-stats-expanded strong { color:#632e16; font-size:clamp(25px,3.7vw,36px); }
.admin-stat-foot { color:#ac8b75; font-size:11px; line-height:1.7; }
.admin-insights { display:grid; grid-template-columns:minmax(0,2.3fr) minmax(240px,1fr); gap:16px; margin-top:20px; }
.admin-chart-card { min-width:0; background:#fff; border:1px solid #f0dcd0; border-radius:20px; padding:21px; box-shadow:0 8px 28px rgba(112,57,29,.035); }
.admin-chart-card h2 { margin:0; font-size:17px; }
.admin-chart-card p { margin:6px 0 0; font-size:12px; color:#947965; }
.admin-panel-heading { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; align-items:start; }
.admin-chart-legend { display:flex; align-items:center; gap:14px; flex-wrap:wrap; color:#806b5d; font-size:11px; }
.admin-chart-legend span { display:inline-flex; align-items:center; gap:5px; }
.admin-chart-legend span::before { content:""; display:inline-block; width:10px; height:10px; border-radius:3px; background:#f28b3e; }
.admin-chart-legend .legend-users::before { background:#9a674e; }
.admin-chart-legend .legend-found::before { background:#f8d4b2; }
.admin-chart-scroll { width:100%; overflow-x:auto; overflow-y:hidden; margin-top:13px; }
.admin-trend-svg { display:block; width:100%; min-width:590px; height:auto; font-family:inherit; }
.admin-trend-svg .admin-gridline { stroke:#f4e8df; stroke-width:1.5; }
.admin-trend-svg .admin-bar-ads { fill:#f28b3e; }
.admin-trend-svg .admin-bar-users { fill:#9a674e; }
.admin-trend-svg .admin-axis-label { font-size:12px; fill:#967b67; }
.admin-ratio-card { display:flex; flex-direction:column; }
.admin-donut-wrap { flex:1; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:14px; padding:15px 0; }
.admin-donut-wrap svg { display:block; width:min(200px,95%); }
.admin-donut-track, .admin-donut-progress { fill:none; stroke-width:15; }
.admin-donut-track { stroke:#f8d4b2; }
.admin-donut-progress { stroke:#f28b3e; stroke-linecap:round; }
.admin-donut-number { font-family:inherit; fill:#66341f; font-size:25px; font-weight:700; }
.admin-donut-legend { justify-content:center; }
.admin-shortcuts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; margin:18px 0 25px; }
.admin-shortcuts a { background:#fff3e9; border:1px solid #f1d9c7; color:#9e4a1d; border-radius:13px; padding:16px 11px; font-size:12px; font-weight:700; text-align:center; }
.admin-shortcuts a:hover { background:#ffe4cc; }
.admin-recent-grid { margin-top:0; }
.admin-recent-row { display:flex; flex-direction:column; gap:2px; border-bottom:1px solid #f4e9e1; padding:9px 0; }
.admin-recent-row a { font-weight:700; color:#87451f; font-size:12px; overflow-wrap:anywhere; }
.admin-recent-row small { color:#978173; font-size:11px; }
.admin-pagination { display:flex; justify-content:center; gap:13px; align-items:center; padding:20px 0 8px; font-size:12px; }
.admin-pagination a { padding:8px 18px; border:1px solid #e9cbb7; background:#fff6ed; border-radius:11px; color:#a24b23; }
.admin-settings-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(190px,.85fr); gap:23px; align-items:start; }
.admin-settings-grid .admin-mini-panel { margin-bottom:18px; }
.admin-settings-form { min-width:0; }
.admin-settings-form .admin-mini-panel { display:grid; gap:13px; }
.admin-settings-form .admin-mini-panel h2 { margin:0; }
.admin-settings-form label:not(.admin-toggle) { display:grid; gap:8px; font-size:12px; font-weight:700; }
.admin-settings-form :is(input:not([type="checkbox"]),textarea) { width:100%; border:1px solid #ead6c7; border-radius:11px; background:#fffefb; padding:12px 13px; font:inherit; color:#613e29; }
.admin-settings-form :is(input,textarea):focus-visible { outline:2px solid #ed985b; outline-offset:1px; }
.admin-settings-form textarea { resize:vertical; }
.admin-settings-form .field-hint { margin:0; }
.admin-settings-form .admin-toggle { display:flex; align-items:center; gap:11px; font-size:12px; }
.admin-toggle input { width:19px; height:19px; accent-color:#e77f38; }
.admin-save-row { display:flex; flex-wrap:wrap; align-items:end; gap:15px; border:1px solid #e8d3c2; border-radius:15px; padding:17px; background:#fffaf5; }
.admin-save-row label { flex:1 1 210px; }
.site-announcement { border:1px solid #f2d0a6; border-radius:14px; padding:12px 18px; margin-top:15px; background:#fff1d9; color:#904d23; text-align:center; font-size:12px; line-height:2; }
@media(max-width:900px) {
  .admin-insights, .admin-settings-grid { grid-template-columns:minmax(0,1fr); }
  .admin-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:620px) {
  .admin-screen { padding-top:25px; }
  .admin-head { align-items:start; flex-direction:column; }
  .admin-head h1 { font-size:25px; }
  .admin-stats-expanded { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .admin-stats-expanded>div { padding:14px; }
  .admin-chart-card { padding:15px; }
  .admin-recent-grid { grid-template-columns:minmax(0,1fr); }
  .admin-head-actions { width:100%; }
  .admin-search { flex-wrap:wrap; }
  .admin-search input { flex:1 1 100%; }
  .admin-search select { flex:1 1 110px; }
}
@media(max-width:350px) {
  .admin-shortcuts { grid-template-columns:minmax(0,1fr); }
  .admin-stats-expanded { grid-template-columns:minmax(0,1fr); }
}

/* --- Jamond 1405: private dashboard tidy-up / Persian calendar --- */
.auth-help-link{display:inline-block;align-self:start;color:#ae5729;font-size:12px;font-weight:700;text-underline-offset:4px;text-decoration:underline;margin:-4px 0 3px}
.auth-help-link:hover{color:#e4772a}
.admin-auth-layout{padding-block:clamp(48px,7vw,92px);}
.admin-auth-layout .form-card{max-width:none;}
.is-admin-page .admin-screen,.is-admin-page .admin-screen > *{min-width:0}
.admin-screen{padding-top:clamp(20px,3vw,44px);}
.admin-head{align-items:center;gap:14px;flex-wrap:wrap;padding:clamp(18px,3vw,30px);border:1px solid #f0dac8;background:linear-gradient(115deg,#fffaf6,#fff2e8);border-radius:22px;}
.admin-head > div:first-child{flex:1 1 260px;min-width:0;}
.admin-head h1{line-height:1.5;overflow-wrap:anywhere;font-size:clamp(22px,2.5vw,30px)}
.admin-head p{margin:4px 0 0;line-height:1.8;font-size:12px;}
.admin-head-actions{flex:0 1 auto;}
.admin-tabs{gap:6px;margin:14px 0 24px;scrollbar-width:thin;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;}
.admin-tabs a{padding:11px 15px;line-height:1.6;flex-shrink:0;}
.admin-topline{min-width:0;}
.admin-topline > span{overflow-wrap:anywhere;}
.admin-stats-expanded{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;}
.admin-stats-expanded > div{min-width:0;overflow:hidden;padding:19px;gap:4px;}
.admin-stats-expanded small{line-height:1.9;font-size:12px;overflow-wrap:anywhere;}
.admin-stats-expanded strong{line-height:1.4;font-size:clamp(24px,3vw,34px);}
.admin-stats-expanded .admin-stat-foot{line-height:1.8;min-height:1em;white-space:normal;overflow-wrap:anywhere;}
.admin-insights{grid-template-columns:minmax(0,1.85fr) minmax(0,.85fr);align-items:stretch;gap:15px;}
.admin-insights > *{min-width:0;}
.admin-chart-card{min-width:0;overflow:hidden;padding:18px;}
.admin-panel-heading{gap:12px;align-items:center;}
.admin-panel-heading > div{flex:1 1 180px;min-width:0;}
.admin-chart-card h2{line-height:1.7;overflow-wrap:anywhere;}
.admin-chart-card p{line-height:1.8;overflow-wrap:anywhere;}
.admin-chart-scroll{max-width:100%;min-width:0;overflow:auto hidden;}
.admin-trend-svg{width:100%;height:auto;min-width:510px;max-height:270px;}
.admin-ratio-card{justify-content:flex-start;}
.admin-donut-wrap{flex:1;min-height:0;gap:14px;padding:12px 0 4px;}
.admin-donut-wrap svg{width:clamp(106px,11vw,146px);height:clamp(106px,11vw,146px);max-width:100%;flex-shrink:0;}
.admin-donut-legend{gap:10px;justify-content:center;line-height:1.8;}
.admin-shortcuts a{display:flex;align-items:center;justify-content:center;min-width:0;min-height:58px;line-height:1.8;overflow-wrap:anywhere;}
.admin-columns,.admin-settings-grid,.admin-recent-grid{min-width:0;}
.admin-columns > *,.admin-settings-grid > *,.admin-recent-grid > *{min-width:0;}
.admin-mini-panel{min-width:0;overflow-wrap:anywhere;padding:clamp(16px,2vw,24px);}
.admin-mini-panel h2{font-size:16px;line-height:1.6;}
.admin-mini-panel p{line-height:1.9;}
.admin-table th,.admin-table td{white-space:normal;line-height:1.8;vertical-align:middle;}
.admin-table td{overflow-wrap:anywhere;max-width:300px;}
.admin-table-wrap{max-width:100%;overflow-x:auto;}
.admin-recent-row{min-width:0;}
.admin-recent-row small{line-height:1.8;}
.admin-settings-form :is(input,textarea){max-width:100%;}
/* Persian date input styled to look like the existing input fields. */
.jalali-picker{position:relative;width:100%;min-width:0;display:flex;align-items:center;}
.jalali-picker .jalali-display{width:100%;min-width:0;cursor:pointer;padding-inline-end:45px;background:#fff;}
.jalali-display:focus-visible{outline:2px solid #f29a5e;outline-offset:1px;}
.jalali-open{position:absolute;left:8px;top:50%;transform:translateY(-50%);border:0;background:#fff2e8;border-radius:9px;color:#ad5925;width:35px;height:35px;font:inherit;font-size:22px;line-height:1;cursor:pointer;}
.jalali-calendar{position:absolute;inset-inline-start:0;top:calc(100% + 8px);z-index:90;box-sizing:border-box;width:min(330px,calc(100vw - 44px));max-width:calc(100vw - 44px);padding:13px;border:1px solid #edd1bf;border-radius:17px;background:#fffdfb;box-shadow:0 18px 42px rgba(86,47,24,.16);color:#59321e;}
.jalali-calendar[hidden]{display:none!important;}
.jalali-toolbar{display:flex;justify-content:space-between;align-items:center;gap:7px;margin-bottom:12px;}
.jalali-toolbar strong{font-size:14px;white-space:nowrap;}
.jalali-toolbar button{border:1px solid #f1d9c9;border-radius:9px;color:#98512c;background:#fff2e9;width:37px;height:35px;font-size:23px;cursor:pointer;}
.jalali-day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center;align-items:center;}
.jalali-weekday{display:grid;place-items:center;min-height:30px;color:#9a7d69;font-size:11px;}
.jalali-day{min-width:0;aspect-ratio:1;border:0;border-radius:9px;background:transparent;font:inherit;font-size:12px;color:#633b24;cursor:pointer;}
.jalali-day:not(:disabled):hover{background:#ffeddb;}
.jalali-day.is-today{outline:1px solid #f0a366;outline-offset:-2px;}
.jalali-day.is-selected{background:#ef7c2b!important;color:#fff;}
.jalali-day:disabled{color:#cdb9ab;cursor:not-allowed;}
.jalali-calendar-footer{border-top:1px solid #f6e5d8;margin-top:10px;padding-top:10px;display:flex;justify-content:space-between;gap:8px;}
.jalali-calendar-footer button{border:0;border-radius:9px;padding:8px 12px;background:#fff0e2;color:#994c24;font:inherit;font-size:11px;cursor:pointer;}
.jalali-calendar :is(button,input):focus-visible{outline:2px solid #e7762d;outline-offset:2px;}
@media(max-width:1024px){.admin-insights{grid-template-columns:minmax(0,1fr);} .admin-ratio-card{display:block;}.admin-donut-wrap{flex-direction:row;justify-content:flex-start;flex-wrap:wrap;}.admin-donut-wrap svg{width:116px;height:116px;}.admin-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:720px){.admin-stats-expanded{grid-template-columns:repeat(2,minmax(0,1fr));}.admin-screen .admin-columns,.admin-settings-grid{grid-template-columns:minmax(0,1fr);}.admin-head{padding:18px;}.admin-head-actions{width:100%;}.admin-chart-card{padding:14px;}.admin-trend-svg{min-width:510px;}}
@media(max-width:400px){.admin-stats-expanded>div{padding:13px;}.admin-stats-expanded strong{font-size:24px;}.admin-stats-expanded .admin-stat-foot{font-size:10px;}.admin-shortcuts{grid-template-columns:minmax(0,1fr);}.jalali-calendar{width:min(300px,calc(100vw - 36px));}}
@media(max-width:720px){.admin-head > div:first-child{flex:0 0 auto;width:100%;}.admin-head{min-height:0;}}
