/* Emanet · app styles */

/* ---------- App bar ---------- */
.appbar{
  position: sticky; top: 0; z-index: 20;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: .85rem clamp(1rem, 4vw, 2.25rem);
  background: rgba(255,255,255,.85);
  backdrop-filter: saturate(140%) blur(12px);
  border-bottom: 1px solid var(--line);
}
.brand{ display: flex; align-items: center; gap: .5rem; }
.brand-name{ letter-spacing: -.01em; }
.logo{ width: 40px; height: 40px; flex: none; display: block; filter: drop-shadow(0 2px 6px rgba(196,71,10,.28)); }
.logo svg{ display: block; width: 100%; height: 100%; }
.brand-txt{ display: flex; flex-direction: column; line-height: 1.1; }
.brand-name{ font-family: var(--serif); font-size: 1.35rem; font-weight: 600; }
.brand-sub{ font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.appnav{ display: flex; align-items: center; gap: 1.1rem; }
.appnav > a:not(.btn){ font-size: .92rem; color: var(--ink-2); font-weight: 500; }
.appnav > a:not(.btn):hover{ color: var(--green); }

/* ---------- Layout ---------- */
.view{ flex: 1 0 auto; width: 100%; }
.page{
  width: 100%; max-width: var(--maxw);
  margin: 0 auto; padding: clamp(1.4rem, 4vw, 2.75rem) clamp(1rem, 4vw, 2.25rem) 4rem;
}
.page-head{ display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.75rem; flex-wrap: wrap; }
.page-title{ font-family: var(--serif); font-size: clamp(1.9rem, 5vw, 2.6rem); font-weight: 600; letter-spacing: -.02em; }
.page-sub{ color: var(--muted); margin-top: .25rem; max-width: 46ch; }
.back-link{ display: inline-block; color: var(--muted); font-size: .9rem; font-weight: 500; margin-bottom: 1rem; }
.back-link:hover{ color: var(--green); }

/* ---------- Buttons ---------- */
.btn{
  --bg: var(--paper); --fg: var(--ink); --bd: var(--line-2);
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  padding: .7rem 1.2rem; border-radius: var(--radius-btn); border: 1px solid var(--bd);
  background: var(--bg); color: var(--fg);
  font-weight: 600; font-size: .95rem; cursor: pointer;
  transition: transform .08s ease, box-shadow .2s ease, background .2s ease, border-color .2s;
  white-space: nowrap;
}
.btn:hover{ box-shadow: var(--shadow-sm); }
.btn:active{ transform: translateY(1px); }
.btn-sm{ padding: .5rem .9rem; font-size: .88rem; }
.btn-lg{ padding: .9rem 1.5rem; font-size: 1.02rem; }
.btn-block{ width: 100%; }
.btn-primary{ --bg: var(--orange); --fg: #fff; --bd: var(--orange); box-shadow: 0 1px 2px rgba(196,71,10,.22); }
.btn-primary:hover{ background: var(--orange-d); box-shadow: 0 4px 12px -3px rgba(196,71,10,.38); }
.btn-ghost{ --bg: transparent; --fg: var(--ink-2); --bd: var(--line-2); }
.btn-ghost:hover{ --fg: var(--green); border-color: var(--green-l); }
.btn-gold{ --bg: var(--orange); --fg: #fff; --bd: var(--orange); box-shadow: 0 1px 2px rgba(196,71,10,.22); }
.btn-gold:hover{ background: var(--orange-d); box-shadow: 0 4px 12px -3px rgba(196,71,10,.38); }
.btn-danger{ --bg: transparent; --fg: var(--danger); --bd: #E4C7C0; }
.btn-danger:hover{ background: var(--danger-bg); }
.btn:disabled{ opacity: .5; cursor: not-allowed; box-shadow: none; }

/* ---------- Pills ---------- */
.pill{
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .28rem .66rem; border-radius: 999px;
  font-size: .74rem; font-weight: 600; letter-spacing: .02em;
  border: 1px solid transparent; white-space: nowrap;
}
.pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .75; }
.pill-muted{ background: #F1EEEA; color: #6B655E; }
.pill-green{ background: #FFF0E4; color: #B4430A; }
.pill-gold{ background: #FCEFD9; color: #99590F; }
.pill-ink{ background: #ECE8E2; color: #45403A; }
.pill-red{ background: #FCECE8; color: #B5372A; }

/* ---------- Cards (dashboard) ---------- */
.card-grid{ display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.1rem; }
.hcard{
  display: flex; flex-direction: column; gap: .85rem;
  background: var(--paper); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 1.25rem 1.3rem;
  box-shadow: var(--shadow-sm); transition: transform .12s ease, box-shadow .2s ease, border-color .2s;
}
.hcard:hover{ transform: translateY(-2px); box-shadow: var(--shadow); border-color: var(--line-2); }
.hcard-top{ display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.hcard-addr{ font-family: var(--serif); font-size: 1.2rem; font-weight: 600; line-height: 1.25; }
.hcard-type{ font-size: .8rem; color: var(--muted); margin-top: .15rem; }
.hcard-parties{ display: flex; align-items: center; gap: .5rem; font-size: .9rem; color: var(--ink-2); }
.hcard-parties .arrow{ color: var(--muted-2); }
.hcard-foot{ display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding-top: .85rem; border-top: 1px dashed var(--line-2); font-size: .84rem; color: var(--muted); }
.hcard-foot b{ color: var(--ink); font-weight: 600; }

/* ---------- Empty state ---------- */
.empty{
  text-align: center; padding: clamp(2.5rem, 8vw, 5rem) 1.5rem;
  background: var(--paper-2); border: 1px dashed var(--line-2); border-radius: var(--radius-lg);
}
.empty-mark{ width: 64px; height: 64px; margin: 0 auto 1.25rem; display: grid; place-items: center; background: var(--green); color: var(--cream); border-radius: 18px; font-family: var(--serif); font-size: 2.1rem; }
.empty h2{ font-family: var(--serif); font-size: 1.6rem; font-weight: 600; }
.empty p{ color: var(--muted); max-width: 42ch; margin: .5rem auto 1.5rem; }

/* ---------- Forms ---------- */
.form-card{
  background: var(--paper); border: 1px solid var(--line);
  border-radius: var(--radius); box-shadow: var(--shadow-sm);
  padding: clamp(1.25rem, 4vw, 2.25rem);
}
.form-section{ padding: 1.5rem 0; border-top: 1px solid var(--line); }
.form-section:first-of-type{ padding-top: .25rem; border-top: 0; }
.form-section > .sec-eyebrow{ display: block; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-text); font-weight: 600; margin-bottom: 1rem; }
.form-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.1rem; }
.field{ display: flex; flex-direction: column; gap: .4rem; }
.field.col-2{ grid-column: 1 / -1; }
.field-label{ font-size: .86rem; font-weight: 600; color: var(--ink-2); }
.field-label .req{ color: var(--gold-text); }
.field-hint{ font-size: .78rem; color: var(--muted); }
.input{
  width: 100%; padding: .72rem .85rem; border-radius: var(--radius-sm);
  border: 1px solid var(--line-2); background: var(--paper-2); color: var(--ink);
  transition: border-color .18s, box-shadow .18s, background .18s;
}
.input:focus{ outline: none; border-color: var(--orange); background: #fff; box-shadow: 0 0 0 3px rgba(232,89,12,.15); }
.input::placeholder{ color: var(--muted-2); }
.textarea{ min-height: 84px; resize: vertical; line-height: 1.5; }
select.input{ appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%238B8475' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .8rem center; padding-right: 2rem; }
.form-actions{ display: flex; align-items: center; justify-content: flex-end; gap: .75rem; margin-top: 1.75rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.form-error{ display: none; margin-top: 1rem; padding: .75rem 1rem; border-radius: var(--radius-sm); background: var(--danger-bg); color: var(--danger); font-size: .9rem; border: 1px solid #E4C7C0; }
.form-error.show{ display: block; }

/* ---------- Panels ---------- */
.panel{ border-radius: var(--radius); padding: 1.2rem 1.35rem; border: 1px solid var(--line); background: var(--paper-2); }
.panel-title{ font-family: var(--serif); font-size: 1.25rem; margin-bottom: .4rem; }
.panel-text{ color: var(--ink-2); }
.panel-info{ background: var(--info); border-color: var(--info-line); border-left: 4px solid var(--gold); }
.panel-sage{ background: var(--sage); border-color: var(--sage-line); border-left: 4px solid var(--green-l); }
.panel .btn{ margin-top: 1rem; }
.panel-eyebrow{ display:block; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); font-weight:600; margin-bottom:.5rem; }

/* ---------- Handover detail ---------- */
.detail-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:1.5rem; }
.detail-title{ font-family:var(--serif); font-size:clamp(1.7rem,4.5vw,2.4rem); font-weight:600; }
.detail-sub{ color:var(--muted); margin-top:.2rem; }
.meta-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; margin-bottom:2rem; }
.meta-cell{ background:var(--paper); padding:1rem 1.1rem; }
.meta-k{ font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.meta-v{ margin-top:.3rem; font-weight:600; color:var(--ink); }
.meta-v.small{ font-weight:500; font-size:.92rem; }

.flow{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.flow-step{ position:relative; display:flex; flex-direction:column; gap:.6rem; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:1.25rem; box-shadow:var(--shadow-sm); }
.flow-step.is-locked{ opacity:.62; }
.flow-step.is-done{ border-color:var(--sage-line); background:linear-gradient(#fff,var(--paper-2)); }
.flow-num{ width:30px; height:30px; border-radius:50%; display:grid; place-items:center; background:var(--green); color:var(--cream); font-size:.85rem; font-weight:600; }
.flow-step.is-done .flow-num{ background:var(--ok); }
.flow-eyebrow{ font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.flow-name{ font-family:var(--serif); font-size:1.2rem; font-weight:600; }
.flow-desc{ font-size:.86rem; color:var(--muted); flex:1; }
.flow-step .btn{ margin-top:.4rem; }
.flow-state{ font-size:.82rem; color:var(--ink-2); display:flex; align-items:center; gap:.4rem; }
.flow-state.done{ color:var(--ok); font-weight:600; }

.detail-actions{ margin-top:2.5rem; display:flex; justify-content:space-between; align-items:center; gap:.75rem; flex-wrap:wrap; }
.detail-actions-left, .detail-actions-right{ display:flex; gap:.6rem; flex-wrap:wrap; }

/* ---------- Footer ---------- */
.appfoot{
  flex: none; margin-top: 2rem;
  display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap;
  padding: 1.15rem clamp(1rem, 4vw, 2.25rem);
  border-top: 1px solid var(--line); color: var(--muted); font-size: .8rem;
}
.foot-brand{ font-weight: 600; }
.foot-note{ max-width: 60ch; }
.foot-links{ display: flex; gap: 1rem; }
.foot-links a{ color: var(--muted); text-decoration: underline; }
.foot-links a:hover{ color: var(--green); }

/* Yasal sayfalar */
.legal-page{ max-width: 760px; }
.legal-h{ font-family: var(--serif); font-size: 1.25rem; font-weight: 600; margin: 1.5rem 0 .5rem; }
.legal-p{ color: var(--ink-2); margin-bottom: .6rem; line-height: 1.6; }
.legal-list{ margin: .3rem 0 .9rem 1.2rem; color: var(--ink-2); line-height: 1.6; }
.legal-list li{ margin-bottom: .3rem; }

/* Panel arama */
.dash-search{ width: 100%; max-width: 440px; margin-bottom: 1.25rem; }
.dash-noresult{ color: var(--muted); text-align: center; padding: 2rem; }

/* Fotoğraf lightbox */
.photo-thumb img, .report-photo, .ref-panel img{ cursor: zoom-in; }
.lightbox{ position: fixed; inset: 0; z-index: 200; background: rgba(20,18,14,.92); display: grid; place-items: center; padding: 1.5rem; }
.lightbox img{ max-width: 96vw; max-height: 92vh; border-radius: 8px; box-shadow: 0 10px 40px rgba(0,0,0,.5); cursor: default; }
.lightbox-close{ position: absolute; top: 1rem; right: 1.25rem; width: 42px; height: 42px; border-radius: 50%; border: none; background: rgba(255,255,255,.15); color: #fff; font-size: 1.6rem; cursor: pointer; }
.lightbox-close:hover{ background: rgba(255,255,255,.28); }

/* Arşiv */
.archive-link-row{ margin-top: 1.5rem; display: flex; justify-content: center; }
.archive-card{ display: flex; flex-direction: column; gap: .5rem; }
.archive-actions{ display: flex; gap: .5rem; justify-content: flex-end; }

/* ---------- Responsive ---------- */
@media (max-width: 720px){
  .form-grid{ grid-template-columns: 1fr; }
  .flow{ grid-template-columns: 1fr; }
  .page-head{ align-items: flex-start; }
  .brand-sub{ display: none; }
  .appfoot{ flex-direction: column; align-items: flex-start; }
}

/* ---------- Gezinti sihirbazı ---------- */
.wz-page{ max-width: 720px; }
.wz-title{ font-family: var(--serif); font-size: clamp(1.6rem, 4.5vw, 2.2rem); font-weight: 600; }
.wz-sub{ color: var(--muted); margin: .15rem 0 1.25rem; }
.wz{ display: flex; flex-direction: column; gap: 1rem; }

.wz-head{ position: sticky; top: 66px; z-index: 10; background: var(--cream); padding: .35rem 0 .6rem; }
.wz-phases{ display: flex; gap: .4rem; }
.wz-phase{ flex: 1; display: flex; align-items: center; justify-content: center; gap: .4rem; padding: .5rem .3rem; border-radius: 999px; border: 1px solid var(--line-2); background: var(--paper); color: var(--muted); font-size: .82rem; font-weight: 600; cursor: pointer; }
.wz-phase-n{ width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; background: var(--cream-2); color: var(--muted); font-size: .72rem; }
.wz-phase.is-active{ border-color: var(--green); color: var(--green); background: #fff; }
.wz-phase.is-active .wz-phase-n{ background: var(--green); color: var(--cream); }
.wz-phase.is-done{ color: var(--ok); border-color: var(--sage-line); }
.wz-phase.is-done .wz-phase-n{ background: var(--ok); color: #fff; }

.wz-body{ display: flex; flex-direction: column; gap: 1rem; }
.wz-card{ background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); padding: 1.15rem 1.2rem; display: flex; flex-direction: column; gap: 1.1rem; }
.wz-lead{ color: var(--ink-2); }
.wz-field{ display: flex; flex-direction: column; gap: .5rem; }
.wz-label{ font-size: .85rem; font-weight: 600; color: var(--ink-2); }
.wz-hint{ font-size: .78rem; color: var(--muted); }
.wz-input{ width: 100%; padding: .7rem .8rem; border-radius: var(--radius-sm); border: 1px solid var(--line-2); background: var(--paper-2); color: var(--ink); }
.wz-input:focus{ outline: none; border-color: var(--orange); background: #fff; box-shadow: 0 0 0 3px rgba(232,89,12,.15); }
.wz-textarea{ min-height: 70px; resize: vertical; line-height: 1.5; }
.wz-roomname{ font-family: var(--serif); font-size: 1.15rem; }
.wz-select{ appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%238B8475' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .7rem center; padding-right: 1.9rem; }

.room-pager{ display: flex; align-items: center; justify-content: space-between; gap: .5rem; flex-wrap: wrap; }
.room-count{ font-weight: 600; color: var(--ink); }
.room-pager-actions{ display: flex; gap: .5rem; }
.room-dots{ display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; }
.room-dot{ width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--line-2); background: var(--paper); color: var(--muted); font-size: .8rem; font-weight: 600; cursor: pointer; position: relative; }
.room-dot.is-on{ border-color: var(--green); color: var(--green); background: #fff; }
.room-dot.has-photo::after{ content: ""; position: absolute; top: -2px; right: -2px; width: 8px; height: 8px; border-radius: 50%; background: var(--ok); border: 1.5px solid var(--cream); }

.chips{ display: flex; flex-wrap: wrap; gap: .5rem; }
.chip{ padding: .5rem .85rem; border-radius: 999px; border: 1px solid var(--line-2); background: var(--paper); color: var(--ink-2); font-size: .88rem; font-weight: 600; cursor: pointer; transition: border-color .15s, background .15s, color .15s; }
.chip:hover{ border-color: var(--muted); }
.chip.is-on{ border-color: var(--green); background: var(--green); color: var(--cream); }
.chip.chip-gold.is-on{ border-color: #C77A1A; background: #E08A1E; color: #fff; }
.chip.chip-ink.is-on{ border-color: #3A362F; background: #3A362F; color: #fff; }

.photo-grid{ display: flex; flex-wrap: wrap; gap: .6rem; }
.photo-thumb{ position: relative; width: 88px; height: 88px; border-radius: 10px; overflow: hidden; border: 1px solid var(--line-2); background: var(--cream-2); }
.photo-thumb img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.photo-time{ position: absolute; left: 0; right: 0; bottom: 0; background: linear-gradient(transparent, rgba(0,0,0,.55)); color: #fff; font-size: .66rem; padding: .5rem .3rem .2rem; text-align: center; }
.photo-rm{ position: absolute; top: 3px; right: 3px; width: 24px; height: 24px; border-radius: 50%; border: none; background: rgba(35,32,26,.62); color: #fff; font-size: 1rem; line-height: 1; cursor: pointer; display: grid; place-items: center; }
.photo-input{ position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.photo-add{ width: 88px; height: 88px; border-radius: 10px; border: 1.5px dashed var(--line-2); background: var(--paper-2); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .2rem; cursor: pointer; color: var(--muted); }
.photo-add:hover{ border-color: var(--green-l); color: var(--green); }
.photo-add-plus{ font-size: 1.5rem; line-height: 1; }
.photo-add-lbl{ font-size: .72rem; font-weight: 600; }
.photos-single .photo-thumb, .photos-single .photo-add{ width: 64px; height: 64px; }

.meter-row{ display: grid; grid-template-columns: 1fr 1.1fr auto; gap: .6rem; align-items: center; padding: .7rem 0; border-top: 1px solid var(--line); }
.meter-row:first-of-type{ border-top: 0; }
.meter-name{ font-weight: 600; display: flex; flex-direction: column; }
.meter-unit{ font-size: .72rem; color: var(--muted); font-weight: 500; }

.fixture-list{ display: flex; flex-direction: column; }
.fixture-row{ display: flex; align-items: center; gap: .7rem; padding: .7rem 0; border-top: 1px solid var(--line); }
.fixture-row:first-child{ border-top: 0; }
.fixture-main{ flex: 1; display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.fixture-name{ font-weight: 600; }
.fixture-main .wz-select{ max-width: 210px; }
.fixture-side{ display: flex; align-items: center; gap: .5rem; }
.fixture-rm{ width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--line-2); background: var(--paper); color: var(--muted); cursor: pointer; font-size: 1rem; flex: none; }
.fixture-rm:hover{ border-color: var(--danger); color: var(--danger); }
.fixture-add{ display: flex; gap: .5rem; margin-top: 1rem; }
.fixture-add .wz-input{ flex: 1; }

.sum-h{ font-family: var(--serif); font-size: 1.3rem; }
.sum-sub{ font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: var(--gold-text); font-weight: 600; }
.sum-row{ display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .55rem 0; border-top: 1px solid var(--line); }
.sum-row:first-of-type{ border-top: 0; }
.sum-row-main{ display: flex; flex-direction: column; }
.sum-name{ font-weight: 600; }
.sum-cond{ font-size: .82rem; color: var(--muted); }
.sum-meta{ font-size: .85rem; color: var(--ink-2); }
.sum-meta.warn{ color: var(--gold-text); font-weight: 600; }

.wz-foot{ position: sticky; bottom: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding: .8rem 0 1rem; background: linear-gradient(transparent, var(--cream) 35%); pointer-events: none; }
.wz-foot > *{ pointer-events: auto; } /* şeffaf bant tıklamayı yutmasın */
.wz-autosave{ font-size: .74rem; color: var(--muted); }

@media (max-width: 520px){
  .wz-autosave{ display: none; }
  /* etiketi ekran okuyucuda tut (display:none a11y ağacından çıkarırdı) */
  .wz-phase span:not(.wz-phase-n){ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
  .wz-phase{ flex: 0 0 auto; width: 42px; }
  .wz-phases{ justify-content: center; }
  .meter-row{ grid-template-columns: 1fr 1fr; }
  .meter-photo{ grid-column: 1 / -1; }
  .fixture-main .wz-select{ max-width: none; }
}

/* ---------- İmza & mühürleme ---------- */
.attest-stats{ display: flex; gap: .6rem; flex-wrap: wrap; }
.attest-stat{ flex: 1; min-width: 72px; text-align: center; padding: .75rem .4rem; background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--radius-sm); }
.attest-num{ display: block; font-family: var(--serif); font-size: 1.5rem; font-weight: 600; color: var(--green); }
.attest-lbl{ font-size: .74rem; color: var(--muted); }

.sig-block{ background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); padding: 1rem 1.1rem; margin-bottom: .5rem; }
.sig-role{ display: flex; align-items: baseline; gap: .5rem; margin-bottom: .6rem; }
.sig-role-lbl{ font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--gold-text); font-weight: 600; }
.sig-role-name{ font-weight: 600; }
.sig-handover{ text-align: center; color: var(--muted); font-size: .84rem; margin: .35rem 0 .75rem; }

.sig{ position: relative; }
.sig-canvas{ display: block; width: 100%; height: 170px; background: var(--paper-2); border: 1px dashed var(--line-2); border-radius: var(--radius-sm); touch-action: none; cursor: crosshair; }
.sig-hint{ position: absolute; inset: 0; display: grid; place-items: center; color: var(--muted-2); font-style: italic; pointer-events: none; }
.sig-clear{ position: absolute; top: 8px; right: 8px; border: 1px solid var(--line-2); background: rgba(255,255,255,.85); color: var(--ink-2); font-size: .78rem; font-weight: 600; padding: .28rem .6rem; border-radius: 999px; cursor: pointer; }
.sig-clear:hover{ border-color: var(--danger); color: var(--danger); }
.sig-legal{ font-size: .78rem; color: var(--muted); margin: 1rem 0 1.25rem; line-height: 1.5; }
.sig-legal-en{ color: var(--muted-2); font-style: italic; }
.consent-row{ display: flex; align-items: flex-start; gap: .6rem; font-size: .85rem; color: var(--ink-2); margin-bottom: 1.1rem; line-height: 1.5; cursor: pointer; }
.consent-chk{ margin-top: .15rem; width: 18px; height: 18px; flex: none; }
.sig-status{ color: var(--danger); font-size: .88rem; margin-top: .75rem; text-align: center; }

/* ---------- Mühürlü kayıt (salt-okunur) ---------- */
.sealed-banner{ display: flex; align-items: center; gap: .9rem; margin-bottom: 1rem; }
.sealed-check{ width: 34px; height: 34px; flex: none; border-radius: 50%; background: var(--ok); color: #fff; display: grid; place-items: center; font-size: 1.1rem; }
.sealed-title{ font-weight: 600; }
.sealed-when{ font-size: .82rem; color: var(--muted); }

.seal-card{ gap: .75rem; }
.seal-row{ display: flex; gap: .75rem; align-items: baseline; }
.seal-k{ font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); flex: none; width: 96px; }
.seal-v{ font-weight: 600; }
.seal-hash{ font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: .78rem; word-break: break-all; color: var(--ink-2); background: var(--cream-2); padding: .3rem .5rem; border-radius: 6px; }
.seal-verify{ display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; padding-top: .5rem; border-top: 1px solid var(--line); }
.seal-ts-body{ display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.verify-out{ font-size: .84rem; color: var(--muted); }
.verify-out.ok{ color: var(--ok); font-weight: 600; }
.verify-out.bad{ color: var(--danger); font-weight: 600; }
.verify-out.warn{ color: var(--gold-text); font-weight: 600; }

.sealed-sigs{ display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.sealed-sig{ border: 1px solid var(--line); border-radius: var(--radius-sm); overflow: hidden; background: var(--paper-2); }
.sealed-sig-img{ height: 92px; display: grid; place-items: center; background: #fff; color: var(--muted-2); font-size: .78rem; border-bottom: 1px solid var(--line); }
.sealed-sig-img img{ max-width: 100%; max-height: 92px; object-fit: contain; }
.sealed-sig-name{ padding: .5rem .6rem 0; font-size: .84rem; font-weight: 600; }
.sealed-sig-time{ padding: 0 .6rem .5rem; font-size: .74rem; color: var(--muted); }

.ro-item{ padding: .8rem 0; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: .5rem; }
.ro-item:first-of-type{ border-top: 0; }
.ro-head{ display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; }
.ro-note{ font-size: .86rem; color: var(--ink-2); background: var(--paper-2); padding: .4rem .6rem; border-radius: 6px; }
.ro-grid .photo-thumb{ width: 72px; height: 72px; }
.ro-nophoto{ font-size: .8rem; color: var(--muted-2); font-style: italic; }

@media (max-width: 520px){
  .sealed-sigs{ grid-template-columns: 1fr; }
}

/* ---------- Çıkış: giriş referans paneli ---------- */
.ref-panel{ background: var(--sage); border: 1px solid var(--sage-line); border-left: 3px solid var(--green-l); border-radius: var(--radius-sm); padding: .7rem .85rem; display: flex; flex-direction: column; gap: .5rem; }
.ref-head{ display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; }
.ref-eyebrow{ font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--green-l); font-weight: 600; }
.ref-cond{ font-size: .84rem; font-weight: 600; color: var(--ink-2); }
.ref-note{ font-size: .82rem; color: var(--ink-2); background: rgba(255,255,255,.55); padding: .35rem .55rem; border-radius: 6px; }
.ref-grid .photo-thumb{ width: 60px; height: 60px; }
.meter-ref{ font-size: .72rem; color: var(--green-l); font-weight: 600; }
.fixture-ref{ font-size: .74rem; color: var(--green-l); font-weight: 500; }

/* ---------- İmza: yazarak onay alternatifi ---------- */
.sig-type-toggle{ display: block; margin-top: .6rem; background: none; border: none; color: var(--green-l); font-size: .82rem; font-weight: 600; text-decoration: underline; cursor: pointer; padding: 0; }
.sig-type-toggle:hover{ color: var(--green); }
.sig-type-input{ margin-top: .5rem; }

/* ---------- Karşılaştırma & adil iade ---------- */
.fair-summary{ position: sticky; top: 66px; z-index: 9; background: var(--paper); border: 1px solid var(--line-2); border-radius: var(--radius); box-shadow: var(--shadow); padding: 1rem 1.15rem; margin-bottom: 1.25rem; display: flex; flex-direction: column; gap: .35rem; }
.fair-row{ display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; font-size: .92rem; color: var(--ink-2); }
.fair-row strong{ font-weight: 700; color: var(--ink); }
.fair-row.ded strong{ color: var(--danger); }
.fair-row.ret span{ font-weight: 600; color: var(--ink); }
.fair-row.ret strong{ font-family: var(--serif); font-size: 1.35rem; color: var(--green); }
.fair-line{ height: 1px; background: var(--line); margin: .3rem 0; }
.fair-warn{ margin-top: .4rem; font-size: .8rem; color: var(--danger); font-weight: 500; }
.fair-h{ font-family: var(--serif); font-size: 1.25rem; margin: .5rem 0 .25rem; }
.fair-card{ gap: .9rem; }
.fair-card-head{ display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; }
.fair-delta{ display: inline-flex; align-items: center; gap: .4rem; }
.fair-arrow{ color: var(--muted); }
.cond-badge{ display: inline-block; padding: .2rem .55rem; border-radius: 999px; font-size: .76rem; font-weight: 600; white-space: nowrap; }
.cond-green{ background: #FFF0E4; color: #B4430A; }
.cond-muted{ background: #F1EEEA; color: #6B655E; }
.cond-gold{ background: #FCEFD9; color: #99590F; }
.cond-ink{ background: #ECE8E2; color: #45403A; }
/* AI hasar karşılaştırması kartı */
.ai-card{ }
.ai-summary{ cursor: pointer; font-weight: 700; color: #B4430A; list-style: none; }
.ai-summary::-webkit-details-marker{ display: none; }
.ai-out{ margin-top: .5rem; }
.ai-lead{ font-weight: 600; margin: .25rem 0 .5rem; }
.ai-row{ padding: .55rem .7rem; border: 1px solid #EDE7E0; border-radius: 12px; margin-bottom: .5rem; background: #FBF9F6; }
.ai-row.is-flag{ border-color: #F0C79A; background: #FFF6EC; }
.ai-row-head{ display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.ai-note{ margin: .3rem 0 0; font-size: .88rem; color: #55504A; }
.ba-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.ba-col{ background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: .6rem; }
.ba-label{ font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); font-weight: 600; margin-bottom: .45rem; }
.resp-chips{ display: flex; flex-wrap: wrap; gap: .5rem; }
.fair-cta{ margin: 1.25rem 0 .25rem; }
.fair-attest{ gap: .5rem; }
.dispute-box{ margin-top: 1.5rem; padding: .9rem 1.1rem; background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--radius-sm); }
.dispute-box summary{ cursor: pointer; font-weight: 600; color: var(--ink-2); }
.dispute-box .btn{ margin-top: .75rem; }
.reval-card{ gap: .8rem; }
.reval-nominal{ display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; font-size: .9rem; color: var(--ink-2); padding-bottom: .5rem; border-bottom: 1px solid var(--line); }
.reval-nominal strong{ color: var(--ink); font-weight: 700; }
.fair-row.muted span, .fair-row.muted strong{ color: var(--muted); font-weight: 600; }
.report-reval-note{ padding: .5rem 1rem; font-size: .8rem; color: var(--gold-text); background: #fff; border-bottom: 1px solid var(--line); }

/* İmza sırasında kiosk: üst çubuktan başka kayıtlara geçişi engelle (PII koruması) */
body[data-kiosk] .appnav{ visibility: hidden; }
body[data-kiosk] .menu-toggle{ visibility: hidden; }

/* Side menü (drawer) */
.menu-toggle{ display: inline-flex; align-items: center; justify-content: center; background: none; border: none; cursor: pointer; color: var(--ink, #2a2a2a); padding: .4rem; border-radius: 8px; margin-left: .5rem; }
.menu-toggle:hover{ background: var(--bg-soft, #f0ece5); }
.drawer{ position: fixed; inset: 0; z-index: 200; }
.drawer[hidden]{ display: none; }
.drawer-scrim{ position: absolute; inset: 0; background: rgba(0,0,0,.42); }
.drawer-panel{ position: absolute; top: 0; left: 0; bottom: 0; width: min(80vw, 300px); background: var(--card, #fff); box-shadow: 2px 0 24px rgba(0,0,0,.22); display: flex; flex-direction: column; padding: 1.1rem .7rem; gap: .12rem; overflow-y: auto; animation: drawer-in .2s ease; }
@keyframes drawer-in{ from{ transform: translateX(-100%); } to{ transform: translateX(0); } }
.drawer-title{ font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted, #8b8475); font-weight: 600; padding: .3rem 1rem .6rem; }
.drawer-panel a{ padding: .8rem 1rem; border-radius: 10px; color: var(--ink, #2a2a2a); font-weight: 500; text-decoration: none; font-size: 1rem; }
.drawer-panel a:hover{ background: var(--bg-soft, #f0ece5); }
.drawer-cta{ margin-top: .6rem; background: var(--orange, #E8590C); color: #fff !important; text-align: center; font-weight: 600 !important; }
.drawer-user{ margin-bottom: .3rem; }
.drawer-user-card{ display: flex !important; align-items: center; gap: .7rem; padding: .75rem !important; background: var(--bg-soft, #f0ece5); border-radius: 12px; margin-bottom: .5rem; }
.drawer-avatar{ width: 42px; height: 42px; border-radius: 50%; background: #E8590C; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.15rem; flex: none; }
.drawer-user-txt{ display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.drawer-user-txt b{ font-size: .98rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.drawer-role{ font-size: .78rem; color: var(--muted, #8b8475); font-weight: 500; }
.drawer-signout{ margin-top: .6rem; background: none; border: 1px solid var(--line, #ddd); color: var(--muted, #8b8475); padding: .7rem; border-radius: 10px; cursor: pointer; font-size: .92rem; }
.drawer-signout:hover{ background: var(--bg-soft, #f0ece5); }
body[data-landing] .drawer, body[data-landing] .menu-toggle{ display: none; }
@media (max-width: 640px){ .appnav a:not(.btn){ display: none; } }
body[data-kiosk] .brand{ pointer-events: none; }
.sign-warn{ margin: 0 0 1rem; }

/* Bulut senkron çubuğu */
.cloud-bar{ display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin-bottom: 1.5rem; padding: .7rem .9rem; background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--radius-sm); }
.cloud-label, .cloud-user{ font-size: .85rem; font-weight: 600; color: var(--ink-2); }
.cloud-input{ width: auto; min-width: 190px; padding: .5rem .7rem; }
.cloud-code{ display: inline-flex; gap: .5rem; }
.cloud-status{ font-size: .8rem; color: var(--muted); }

/* Yedekle / geri yükle */
.backup-bar{ display: flex; align-items: center; gap: .6rem; justify-content: flex-end; flex-wrap: wrap; margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.backup-note{ font-size: .82rem; color: var(--muted); margin-right: auto; }
.backup-file{ position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }

/* Rota yükleme spinner'ı */
.route-loading{ display: flex; align-items: center; justify-content: center; gap: .75rem; padding: 4rem 1rem; color: var(--muted); }
.spinner{ width: 22px; height: 22px; border: 2.5px solid var(--line-2); border-top-color: var(--green); border-radius: 50%; animation: emspin .7s linear infinite; }
@keyframes emspin{ to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .spinner{ animation-duration: 1.8s; } }

/* Ekran-okuyucu-only + odak */
.sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
[tabindex="-1"]:focus{ outline: none; }

/* Toast bildirimleri */
.toast-host{ position: fixed; left: 50%; bottom: 1.25rem; transform: translateX(-50%); z-index: 100; display: flex; flex-direction: column; gap: .5rem; align-items: center; pointer-events: none; width: min(92vw, 440px); }
.toast{ background: var(--ink); color: var(--cream); padding: .7rem 1.1rem; border-radius: 999px; font-size: .9rem; font-weight: 500; box-shadow: var(--shadow); opacity: 0; transform: translateY(8px); transition: opacity .25s, transform .25s; text-align: center; }
.toast.show{ opacity: 1; transform: none; }
.toast-error{ background: var(--danger); color: #fff; }

/* ---------- Rapor (ekran + yazdırma) ---------- */
.report-page{ max-width: 860px; }
.report-toolbar{ display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; flex-wrap: wrap; }
.report-toolbar .back-link{ margin: 0; }
.report{ background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); padding: clamp(1.5rem, 4vw, 2.75rem); color: var(--ink); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.report-head{ display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 2px solid var(--green); flex-wrap: wrap; }
.report-brand{ display: flex; align-items: center; gap: .7rem; }
.report-logo{ width: 40px; height: 40px; flex: none; display: grid; place-items: center; background: var(--green); color: var(--cream); border-radius: 10px; font-family: var(--serif); font-size: 1.5rem; }
.report-brand-name{ font-family: var(--serif); font-size: 1.4rem; font-weight: 600; }
.report-brand-sub{ font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.report-head-right{ text-align: right; }
.report-doc-type{ font-weight: 600; color: var(--green); }
.report-doc-date{ font-size: .82rem; color: var(--muted); }
.report-title{ font-family: var(--serif); font-size: clamp(1.5rem, 4vw, 2rem); font-weight: 600; margin-top: 1.25rem; }
.report-sub{ color: var(--muted); margin-bottom: 1.25rem; }
.report-parties{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius-sm); overflow: hidden; }
.report-party{ background: var(--paper-2); padding: .7rem .85rem; }
.report-party-k{ font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.report-party-v{ font-weight: 600; margin-top: .15rem; }
.report-party-sub{ font-size: .8rem; color: var(--muted); }
.report-result{ margin-top: 1.5rem; border: 1.5px solid var(--gold); border-radius: var(--radius); overflow: hidden; }
.report-result-h{ background: var(--info); color: var(--gold-text); font-weight: 700; padding: .6rem 1rem; letter-spacing: .04em; text-transform: uppercase; font-size: .82rem; }
.report-result-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); }
.report-result-cell{ background: #fff; padding: .8rem 1rem; }
.report-result-k{ font-size: .74rem; color: var(--muted); }
.report-result-v{ font-weight: 700; margin-top: .2rem; }
.report-result-cell.ded .report-result-v{ color: var(--danger); }
.report-result-cell.ret .report-result-v{ font-family: var(--serif); font-size: 1.35rem; color: var(--green); }
.report-sec{ margin-top: 1.75rem; }
.report-sec-head{ display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--line); padding-bottom: .4rem; flex-wrap: wrap; }
.report-h2{ font-family: var(--serif); font-size: 1.35rem; font-weight: 600; }
.report-h3{ font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--gold-text); font-weight: 700; margin: 1.1rem 0 .5rem; }
.report-sealed{ font-size: .8rem; color: var(--ok); font-weight: 600; }
.report-hash{ font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: .7rem; word-break: break-all; color: var(--ink-2); background: var(--cream-2); padding: .4rem .55rem; border-radius: 6px; margin-top: .6rem; }
.report-hash span{ color: var(--muted); }
.report-sigs{ display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin-top: .9rem; }
.report-sig{ border: 1px solid var(--line); border-radius: var(--radius-sm); overflow: hidden; }
.report-sig img{ display: block; width: 100%; height: 80px; object-fit: contain; background: #fff; border-bottom: 1px solid var(--line); }
.report-sig-cap{ padding: .4rem .6rem 0; font-size: .82rem; font-weight: 600; }
.report-sig-time{ padding: 0 .6rem .4rem; font-size: .72rem; color: var(--muted); }
.report-item{ padding: .7rem 0; border-bottom: 1px solid var(--line); }
.report-item-head{ display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.report-note{ font-size: .84rem; color: var(--ink-2); margin-top: .35rem; }
.report-photos{ display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .5rem; }
.report-photo{ width: 96px; height: 96px; object-fit: cover; border-radius: 6px; border: 1px solid var(--line-2); }
.report-nophoto{ font-size: .78rem; color: var(--muted-2); font-style: italic; }
.report-table{ width: 100%; border-collapse: collapse; font-size: .88rem; }
.report-table td, .report-table th{ text-align: left; padding: .4rem .5rem; border-bottom: 1px solid var(--line); }
.report-table th{ font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.report-prop-total td{ font-weight: 700; border-top: 2px solid var(--line-2); border-bottom: none; }
.report-integrity{ margin-top: 1.75rem; background: var(--sage); border: 1px solid var(--sage-line); border-radius: var(--radius-sm); padding: .9rem 1.1rem; }
.report-integ-row{ display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .2rem 0; }
.report-integ.ok{ color: var(--ok); font-weight: 700; }
.report-integ.bad{ color: var(--danger); font-weight: 700; }
.report-legal{ margin-top: 1.5rem; font-size: .74rem; color: var(--muted); line-height: 1.55; border-top: 1px solid var(--line); padding-top: 1rem; }

@media (max-width: 640px){
  .report-parties{ grid-template-columns: 1fr 1fr; }
  .report-result-grid{ grid-template-columns: 1fr 1fr; }
}

@media print{
  .appbar, .appfoot, .report-toolbar, .back-link{ display: none !important; }
  body{ background: #fff; }
  .page, .report-page{ padding: 0; max-width: none; }
  .report{ border: none; box-shadow: none; border-radius: 0; padding: 0; }
  .report-sec, .report-item, .report-sig, .report-result, .report-integrity{ break-inside: avoid; }
  .report-h2, .report-h3{ break-after: avoid; }
  .report-photo{ width: 84px; height: 84px; }
  @page{ margin: 14mm; }
}

/* Faz 3 — panel-ok + uzaktan imza + genel imza sayfası */
.panel-ok{ background: var(--sage); border-color: var(--sage-line); border-left: 4px solid var(--ok); }
body[data-public] .appnav{ display: none; }
.sig-remote{ margin-top: .6rem; }
.sig-remote-out{ margin-top: .5rem; }
.sig-remote-actions{ display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .5rem; }
.sig-remote-done .panel-text{ margin: 0; }
.ps-summary .ps-section{ margin-bottom: 1rem; }
.ps-h{ font-size: .95rem; margin: .2rem 0 .5rem; color: var(--green); }
.ps-item{ padding: .45rem 0; border-top: 1px solid var(--sage-line); }
.ps-item:first-of-type{ border-top: 0; }
.ps-item-lbl{ font-weight: 600; }
.ps-item-note{ font-size: .85rem; color: var(--gold-text); margin-top: .15rem; }
.ps-photos{ display: flex; gap: .4rem; flex-wrap: wrap; margin-top: .4rem; }
.ps-photo{ width: 84px; height: 84px; object-fit: cover; border-radius: 8px; cursor: zoom-in; }

/* ═══════════════════ Landing (tanıtım) ═══════════════════ */
body[data-landing] .appbar, body[data-landing] .appfoot{ display: none; }
body[data-landing]{ background: var(--paper); }

.lp{ width: 100%; }
.lp-nav, .lp-hero, .lp-sec, .lp-cta, .lp-foot{
  padding-left: max((100% - 1180px) / 2, clamp(1.1rem, 5vw, 2.5rem));
  padding-right: max((100% - 1180px) / 2, clamp(1.1rem, 5vw, 2.5rem));
}

/* Üst çubuk */
.lp-nav{ position: sticky; top: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding-top: .8rem; padding-bottom: .8rem; background: rgba(255,255,255,.82); backdrop-filter: saturate(140%) blur(12px); border-bottom: 1px solid var(--line); }
.lp-brand{ display: flex; align-items: center; gap: .5rem; }
.lp-brand .logo{ width: 34px; height: 34px; }
.lp-brand-name{ font-family: var(--serif); font-size: 1.4rem; font-weight: 600; letter-spacing: -.01em; }
.lp-nav-links{ display: flex; align-items: center; gap: 1.6rem; }
.lp-nav-links > a:not(.btn){ font-size: .92rem; font-weight: 500; color: var(--ink-2); }
.lp-nav-links > a:not(.btn):hover{ color: var(--orange); }

/* Hero */
.lp-hero{ display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center;
  padding-top: clamp(2.5rem, 6vw, 5rem); padding-bottom: clamp(2.5rem, 6vw, 5rem); }
.lp-eyebrow{ display: inline-block; font-size: .76rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--orange-text); }
.lp-eyebrow.center{ display: block; text-align: center; }
.lp-h1{ font-family: var(--serif); font-weight: 600; font-size: clamp(2.4rem, 6vw, 4rem); line-height: 1.02; letter-spacing: -.025em; margin: .9rem 0 1.1rem; }
.lp-h1 .accent{ color: var(--orange); font-style: italic; }
.lp-lead{ font-size: clamp(1.02rem, 1.6vw, 1.2rem); line-height: 1.6; color: var(--ink-2); max-width: 40ch; }
.lp-hero-cta{ display: flex; gap: .8rem; flex-wrap: wrap; margin: 1.8rem 0 1rem; }
.lp-hero-note{ font-size: .84rem; color: var(--muted); }
.lp-hero-media{ position: relative; }
.lp-hero-media img{ width: 100%; height: auto; border-radius: var(--radius-lg); border: 1px solid var(--line); box-shadow: var(--shadow-lg); display: block; }
.lp-hero-badge{ position: absolute; left: 1rem; bottom: 1rem; display: inline-flex; align-items: center; gap: .5rem;
  background: rgba(255,255,255,.94); backdrop-filter: blur(6px); border: 1px solid var(--line); border-radius: 999px;
  padding: .5rem .9rem .5rem .55rem; font-size: .84rem; font-weight: 600; color: var(--ink); box-shadow: var(--shadow); }
.lp-hero-badge .lp-ic{ width: 26px; height: 26px; }

/* Bölümler */
.lp-sec{ padding-top: clamp(2.5rem, 6vw, 4.5rem); padding-bottom: clamp(2.5rem, 6vw, 4.5rem); }
.lp-what{ border-top: 1px solid var(--line); }
.lp-how{ background: var(--paper-2); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.lp-h2{ font-family: var(--serif); font-weight: 600; font-size: clamp(1.8rem, 4vw, 2.7rem); letter-spacing: -.02em; line-height: 1.08; margin: .5rem 0; }
.lp-h2.center{ text-align: center; }
.lp-sec-lead{ font-size: clamp(1rem, 1.5vw, 1.14rem); line-height: 1.65; color: var(--ink-2); max-width: 62ch; }
.lp-sec-lead.center{ margin: .8rem auto 0; text-align: center; }

/* İkon rozeti */
.lp-ic{ display: inline-grid; place-items: center; width: 46px; height: 46px; flex: none; border-radius: 13px;
  background: var(--orange-tint); color: var(--orange); border: 1px solid var(--orange-line); }
.lp-ic svg{ width: 55%; height: 55%; }

/* Adımlar */
.lp-steps{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.1rem; margin-top: 2.2rem; }
.lp-step{ background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.3rem 1.25rem; box-shadow: var(--shadow-sm); }
.lp-step-top{ display: flex; align-items: center; justify-content: space-between; margin-bottom: .9rem; }
.lp-step-k{ font-family: var(--serif); font-size: 1.5rem; font-weight: 600; color: var(--line-2); }
.lp-step-t{ font-size: 1.06rem; font-weight: 700; margin-bottom: .35rem; }
.lp-step-d{ font-size: .9rem; line-height: 1.55; color: var(--muted); }

/* Özellikler */
.lp-feats{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; margin-top: 2.2rem; }
.lp-feat{ background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.4rem 1.35rem; box-shadow: var(--shadow-sm); transition: transform .12s ease, box-shadow .2s ease, border-color .2s; }
.lp-feat:hover{ transform: translateY(-3px); box-shadow: var(--shadow); border-color: var(--orange-line); }
.lp-feat .lp-ic{ margin-bottom: .9rem; }
.lp-feat-t{ font-size: 1.08rem; font-weight: 700; margin-bottom: .4rem; }
.lp-feat-d{ font-size: .92rem; line-height: 1.55; color: var(--muted); }

/* Kapanış CTA */
.lp-cta{ text-align: center; padding-top: clamp(3rem, 7vw, 5.5rem); padding-bottom: clamp(3rem, 7vw, 5.5rem);
  background: linear-gradient(180deg, var(--paper), var(--orange-tint)); border-top: 1px solid var(--line); }
.lp-cta-h{ font-family: var(--serif); font-weight: 600; font-size: clamp(2rem, 5vw, 3.2rem); letter-spacing: -.02em; }
.lp-cta-p{ color: var(--ink-2); margin: .8rem auto 1.7rem; max-width: 46ch; }

/* Footer */
.lp-foot{ padding-top: 2.5rem; padding-bottom: 2.5rem; border-top: 1px solid var(--line); display: grid; gap: 1.2rem; }
.lp-foot-brand{ display: flex; align-items: center; gap: .7rem; }
.lp-foot-brand .logo{ width: 40px; height: 40px; }
.lp-foot-name{ font-family: var(--serif); font-size: 1.25rem; font-weight: 600; line-height: 1.1; }
.lp-foot-sub{ font-size: .74rem; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
.lp-foot-links{ display: flex; gap: 1.4rem; flex-wrap: wrap; }
.lp-foot-links a{ font-size: .9rem; font-weight: 500; color: var(--ink-2); }
.lp-foot-links a:hover{ color: var(--orange); }
.lp-foot-note{ font-size: .8rem; color: var(--muted); max-width: 70ch; }

@media (max-width: 900px){
  .lp-hero{ grid-template-columns: 1fr; }
  .lp-hero-media{ order: -1; }
  .lp-steps{ grid-template-columns: repeat(2, 1fr); }
  .lp-feats{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px){
  .lp-nav-links{ gap: .9rem; }
  .lp-nav-links > a:not(.btn){ display: none; }
  .lp-steps, .lp-feats{ grid-template-columns: 1fr; }
  .lp-hero-cta .btn{ flex: 1; }
}

/* ─────────── Landing: SSS + zengin footer ─────────── */
.lp-faq{ border-top: 1px solid var(--line); }
.lp-faq-list{ max-width: 760px; margin: 2rem auto 0; display: flex; flex-direction: column; gap: .7rem; }
.lp-faq-item{ background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); overflow: hidden; }
.lp-faq-item[open]{ border-color: var(--orange-line); }
.lp-faq-q{ list-style: none; cursor: pointer; padding: 1.05rem 1.2rem; font-weight: 600; font-size: 1.02rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.lp-faq-q::-webkit-details-marker{ display: none; }
.lp-faq-q::after{ content: "+"; font-size: 1.45rem; color: var(--orange); font-weight: 400; line-height: 1; flex: none; transition: transform .2s ease; }
.lp-faq-item[open] .lp-faq-q::after{ transform: rotate(45deg); }
.lp-faq-a{ padding: 0 1.2rem 1.15rem; color: var(--ink-2); line-height: 1.62; font-size: .96rem; }

.lp-foot{ display: block; padding-top: 3rem; padding-bottom: 2.4rem; border-top: 1px solid var(--line); background: var(--paper-2); }
.lp-foot-grid{ display: grid; grid-template-columns: 1.7fr 1fr 1fr 1fr; gap: 2rem; padding-bottom: 2rem; border-bottom: 1px solid var(--line); }
.lp-foot-about{ max-width: 36ch; }
.lp-foot-brand{ display: flex; align-items: center; gap: .55rem; margin-bottom: .85rem; }
.lp-foot-brand .logo{ width: 34px; height: 34px; }
.lp-foot-name{ font-family: var(--serif); font-size: 1.3rem; font-weight: 600; }
.lp-foot-desc{ font-size: .9rem; color: var(--muted); line-height: 1.55; margin-bottom: 1.1rem; }
.lp-foot-col{ display: flex; flex-direction: column; gap: .6rem; align-items: flex-start; }
.lp-foot-h{ font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-weight: 700; margin-bottom: .2rem; }
.lp-foot-col a:not(.btn){ font-size: .92rem; color: var(--ink-2); font-weight: 500; }
.lp-foot-col a:not(.btn):hover{ color: var(--orange); }
.lp-foot-bottom{ display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding-top: 1.4rem; font-size: .82rem; color: var(--muted); }
.lp-foot-note{ color: var(--muted-2); }
@media (max-width: 820px){ .lp-foot-grid{ grid-template-columns: 1fr 1fr; } .lp-foot-about{ grid-column: 1 / -1; } }
@media (max-width: 480px){ .lp-foot-grid{ grid-template-columns: 1fr; } }

/* Landing çapa linkleri: sticky nav altına denk gelsin */
#nasil, #neden, #sss{ scroll-margin-top: 84px; }

/* ─────────── Kira Sözleşmesi (yazdırılabilir) ─────────── */
.lease{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:clamp(1.5rem,4vw,2.75rem); color:var(--ink); max-width:820px; margin:0 auto; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
.lease-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding-bottom:1rem; border-bottom:2px solid var(--orange); flex-wrap:wrap; }
.lease-brand{ display:flex; align-items:center; gap:.6rem; font-family:var(--serif); font-size:1.35rem; font-weight:600; }
.lease-logo{ width:34px; height:34px; display:block; }
.lease-logo svg{ width:100%; height:100%; display:block; }
.lease-doc-meta{ text-align:right; }
.lease-doc-type{ font-weight:600; color:var(--orange-text); font-size:.9rem; }
.lease-doc-date{ font-size:.82rem; color:var(--muted); }
.lease-title{ font-family:var(--serif); font-size:clamp(1.4rem,3.5vw,1.9rem); font-weight:600; text-align:center; margin:1.4rem 0 .5rem; letter-spacing:.02em; }
.lease-h2{ font-size:1.05rem; font-weight:700; margin:1.5rem 0 .7rem; padding-bottom:.3rem; border-bottom:1px solid var(--line); }
.lease-parties{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.lease-party{ border:1px solid var(--line); border-radius:var(--radius-sm); padding:.85rem 1rem; background:var(--paper-2); }
.lease-party-role{ font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--orange-text); font-weight:700; margin-bottom:.5rem; }
.lease-block{ display:grid; gap:.15rem; }
.lease-row{ display:flex; gap:.75rem; padding:.35rem 0; border-bottom:1px dotted var(--line-2); font-size:.92rem; }
.lease-row:last-child{ border-bottom:0; }
.lease-k{ flex:0 0 40%; color:var(--muted); }
.lease-v{ flex:1; font-weight:600; color:var(--ink); }
.lease-note{ font-size:.85rem; color:var(--muted); margin-top:.5rem; }
.lease-clauses{ margin:.5rem 0 0; padding-left:1.3rem; display:flex; flex-direction:column; gap:.55rem; }
.lease-clauses li{ font-size:.92rem; line-height:1.55; color:var(--ink-2); }
.lease-sign-date{ margin:1.8rem 0 1rem; font-size:.95rem; }
.lease-signs{ display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; margin-top:1.5rem; }
.lease-sign{ text-align:center; }
.lease-sign-line{ border-top:1px solid var(--ink-2); margin-bottom:.4rem; height:2.5rem; }
.lease-sign-role{ font-size:.74rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); font-weight:700; }
.lease-sign-name{ font-weight:600; margin-top:.2rem; }
.lease-legal{ margin-top:1.8rem; font-size:.76rem; color:var(--muted); line-height:1.55; border-top:1px solid var(--line); padding-top:1rem; }
@media (max-width:560px){ .lease-parties, .lease-signs{ grid-template-columns:1fr; } .lease-k{ flex-basis:45%; } }
@media print{ .lease{ border:none; box-shadow:none; border-radius:0; padding:0; max-width:none; } .lease-h2, .lease-party, .lease-signs, .lease-clauses li{ break-inside:avoid; } }

/* Şifremi unuttum linki */
.cloud-forgot{ background:none; border:none; color:var(--orange-text); font-size:.82rem; font-weight:600; text-decoration:underline; cursor:pointer; padding:.3rem 0; }
.cloud-forgot:hover{ color:var(--orange); }
.cloud-forgot:disabled{ opacity:.5; cursor:not-allowed; }

/* ═══════════════════ Admin menü linki ═══════════════════ */
.drawer-admin{ color:var(--orange-text) !important; font-weight:700 !important; }
.drawer-admin[hidden]{ display:none; }

/* ═══════════════════ Masaüstü kalıcı sidebar (≥1024px) ═══════════════════ */
/* Landing / public-imza / kiosk dışındaki tüm uygulama sayfalarında drawer, sol
   kolonda hep açık bir sidebar'a dönüşür; içerik sağa kayar (body padding-left). */
@media (min-width: 1024px){
  body:not([data-landing]):not([data-public]):not([data-kiosk]){ padding-left: 272px; }
  body:not([data-landing]):not([data-public]):not([data-kiosk]) .menu-toggle{ display: none; }
  body:not([data-landing]):not([data-public]):not([data-kiosk]) .drawer{
    display: block !important; position: fixed; inset: 0 auto 0 0; width: 272px; z-index: 15;
  }
  body:not([data-landing]):not([data-public]):not([data-kiosk]) .drawer[hidden]{ display: block !important; }
  body:not([data-landing]):not([data-public]):not([data-kiosk]) .drawer-scrim{ display: none; }
  body:not([data-landing]):not([data-public]):not([data-kiosk]) .drawer-panel{
    position: fixed; top: 0; left: 0; bottom: 0; width: 272px;
    box-shadow: none; border-right: 1px solid var(--line); background: var(--paper);
    animation: none; padding: 1rem .7rem 1.5rem;
  }
}

/* ═══════════════════ Yönetim paneli ═══════════════════ */
.admin-tabs{ display:flex; gap:.4rem; flex-wrap:wrap; margin-bottom:1.5rem; border-bottom:1px solid var(--line); }
.admin-tab{ background:none; border:none; border-bottom:2px solid transparent; padding:.6rem .9rem; margin-bottom:-1px; cursor:pointer; font-weight:600; font-size:.95rem; color:var(--muted); }
.admin-tab:hover{ color:var(--ink-2); }
.admin-tab.is-active{ color:var(--orange); border-bottom-color:var(--orange); }
.admin-refresh{ margin-left:auto; color:var(--orange); }
.admin-body{ min-height:200px; }

.admin-stat-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:1rem; }
.admin-stat{ background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:1.15rem 1.25rem; }
.admin-stat-num{ font-family:var(--serif); font-size:2.2rem; font-weight:700; color:var(--orange); line-height:1; }
.admin-stat-lbl{ font-weight:600; margin-top:.4rem; }
.admin-stat-sub{ font-size:.8rem; color:var(--muted); margin-top:.1rem; }

.admin-filter{ display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:1rem; }
.admin-check{ display:inline-flex; align-items:center; gap:.5rem; font-size:.9rem; font-weight:600; color:var(--ink-2); cursor:pointer; }
.admin-check input{ width:17px; height:17px; }
.admin-count{ font-size:.85rem; color:var(--muted); }

.admin-seal-list{ display:flex; flex-direction:column; gap:.85rem; }
.admin-seal-card{ background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:1rem 1.15rem; display:flex; flex-direction:column; gap:.6rem; }
.admin-seal-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.admin-seal-addr{ font-family:var(--serif); font-size:1.1rem; font-weight:600; }
.admin-seal-owner{ font-size:.82rem; color:var(--muted); margin-top:.1rem; }
.admin-seal-parties{ font-size:.88rem; color:var(--ink-2); }
.admin-seal-parties .arrow{ color:var(--muted-2); }
.admin-seal-rows{ display:flex; flex-direction:column; gap:.4rem; padding-top:.6rem; border-top:1px dashed var(--line-2); }
.admin-seal-row{ display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; }
.admin-seal-kind{ flex:0 0 74px; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--orange-text); font-weight:700; }
.admin-seal-hash{ font-family:ui-monospace,"SF Mono",Menlo,monospace; font-size:.76rem; color:var(--ink-2); background:var(--cream-2); padding:.2rem .45rem; border-radius:6px; }
.admin-seal-when{ font-size:.78rem; color:var(--muted); margin-left:auto; }

.admin-req-card{ background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:1rem 1.15rem; margin-bottom:.8rem; display:flex; flex-direction:column; gap:.5rem; }
.admin-req-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.admin-req-email{ font-weight:600; }
.admin-req-change{ font-size:.9rem; color:var(--ink-2); margin-top:.15rem; }
.admin-req-change .arrow{ color:var(--muted-2); }
.admin-req-note{ font-size:.86rem; color:var(--ink-2); background:var(--paper-2); padding:.45rem .65rem; border-radius:8px; }
.admin-req-time{ font-size:.78rem; color:var(--muted); }
.admin-req-actions{ display:flex; gap:.5rem; padding-top:.3rem; }

.admin-log-list{ display:flex; flex-direction:column; }
.admin-log-row{ padding:.7rem 0; border-top:1px solid var(--line); }
.admin-log-row:first-child{ border-top:0; }
.admin-log-top{ display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; }
.admin-log-msg{ font-weight:600; font-size:.9rem; word-break:break-word; flex:1; min-width:140px; }
.admin-log-when{ font-size:.76rem; color:var(--muted); margin-left:auto; }
.admin-log-meta{ font-size:.78rem; color:var(--muted); font-family:ui-monospace,"SF Mono",Menlo,monospace; margin-top:.25rem; }

/* ═══════════════════ Uzaktan imza — zaten imzalayanlar (B) ═══════════════════ */
.ps-signed .ps-h{ margin-top:0; }
.ps-signed-row{ display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.55rem 0; border-top:1px solid var(--sage-line); }
.ps-signed-row:first-of-type{ border-top:0; }
.ps-signed-meta{ display:flex; flex-direction:column; }
.ps-signed-role{ font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--orange-text); font-weight:700; }
.ps-signed-name{ font-weight:600; }
.ps-signed-img{ height:48px; max-width:160px; object-fit:contain; background:#fff; border:1px solid var(--line); border-radius:6px; padding:2px; }
.ps-signed-ok{ color:var(--ok); font-weight:600; font-size:.85rem; }

/* ═══════════════════ Kayıt paylaşımı (emlakçı → ev sahibi) ═══════════════════ */
.share-list{ display:flex; flex-direction:column; gap:.5rem; margin-top:.9rem; }
.share-row{ display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.55rem .7rem; background:var(--paper-2); border:1px solid var(--line); border-radius:10px; }
.share-email{ font-weight:600; font-size:.92rem; word-break:break-all; }

/* ═══════════════════ Belge doğrulama sertifikası ═══════════════════ */
.verify-card{ gap:.6rem; }
.verify-cert{ margin-top:.9rem; padding:1.1rem 1.2rem; background:var(--sage); border:1px solid var(--sage-line); border-radius:var(--radius); text-align:center; }
.verify-cert-badge{ width:40px; height:40px; margin:0 auto .5rem; border-radius:50%; background:var(--ok); color:#fff; display:grid; place-items:center; font-size:1.3rem; }
.verify-cert-title{ font-family:var(--serif); font-size:1.15rem; font-weight:600; margin-bottom:.7rem; }
.verify-cert-row{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem; padding:.35rem 0; border-top:1px solid var(--sage-line); font-size:.9rem; text-align:left; }
.verify-cert-row:first-of-type{ border-top:0; }
.verify-cert-ts{ margin-top:.6rem; font-size:.82rem; color:var(--ink-2); font-weight:600; }
.verify-cert-hash{ font-family:ui-monospace,"SF Mono",Menlo,monospace; font-size:.7rem; word-break:break-all; color:var(--ink-2); background:#fff; padding:.4rem .55rem; border-radius:6px; margin-top:.5rem; text-align:left; }
.verify-cert-hash span{ color:var(--muted); }
