/* V8 mobile-first application flow */
:root{
  --flow-bg:#f7f5ef;
  --flow-card:#fffdfa;
  --flow-line:rgba(17,62,53,.13);
  --flow-soft:#e8f2ee;
  --flow-accent:var(--brand,#0b574c);
}

.module-entry{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);
  gap:28px;
  padding:clamp(26px,4vw,48px);
  border:1px solid var(--flow-line);
  border-radius:28px;
  background:
    radial-gradient(circle at 92% 8%,rgba(216,157,68,.17),transparent 30%),
    linear-gradient(145deg,#fffdfa 0%,#f4f6f0 100%);
  box-shadow:0 22px 70px rgba(22,54,46,.10);
}
.module-entry::after{
  content:""; position:absolute; width:300px; height:300px; right:-150px; bottom:-190px;
  border:1px solid rgba(11,87,76,.11); border-radius:50%; box-shadow:0 0 0 58px rgba(11,87,76,.035);
  pointer-events:none;
}
.module-entry-main,.module-entry-side{position:relative;z-index:1}
.module-entry-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:var(--flow-accent);color:#fff;font-weight:900;font-size:1.05rem;box-shadow:0 10px 24px rgba(11,87,76,.18)}
.module-entry .eyebrow{display:block;margin-top:22px}
.module-entry h1{max-width:760px;margin:8px 0 14px;font-family:var(--serif);font-size:clamp(2.1rem,5vw,4.4rem);line-height:.98;letter-spacing:-.055em}
.module-entry-lead{max-width:760px;margin:0;color:var(--ink-soft);font-size:clamp(.98rem,1.8vw,1.14rem);line-height:1.7}
.module-entry-facts{display:flex;flex-wrap:wrap;gap:9px;margin:23px 0}
.module-entry-facts span{padding:9px 12px;border:1px solid var(--flow-line);border-radius:999px;background:rgba(255,255,255,.68);font-size:.74rem;font-weight:800;color:var(--ink-soft)}
.module-entry-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.module-start-btn{min-height:52px;padding-inline:22px;font-size:.86rem}
.module-entry-side{align-self:center;padding:23px;border:1px solid var(--flow-line);border-radius:22px;background:rgba(255,255,255,.76);backdrop-filter:blur(10px)}
.module-entry-side h2{margin:0 0 14px;font-size:1rem}
.module-entry-side ol{display:grid;gap:13px;margin:0;padding:0;list-style:none;counter-reset:flow-step}
.module-entry-side li{counter-increment:flow-step;display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:start;color:var(--ink-soft);font-size:.82rem;line-height:1.5}
.module-entry-side li::before{content:counter(flow-step);display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:var(--flow-soft);color:var(--flow-accent);font-size:.72rem;font-weight:900}
.module-entry-side strong{display:block;color:var(--ink);font-size:.82rem;margin-bottom:2px}
.panel.module-not-started > :not(.module-entry){display:none!important}
.panel.module-started > .module-entry{display:none!important}
.module-exit-btn{white-space:nowrap}

.flow-compact-header{display:none}
.mobile-flow-nav{display:none}
.mobile-stage-nav{display:none}

/* Traffic data is readable on any narrow screen. */
.traffic-slot-label{display:none}

@media (max-width:860px){
  body{padding-bottom:0!important}
  .mobile-action-bar{display:none!important}
  .scroll-top{bottom:16px!important}
  .main{padding-bottom:34px!important}
  .meta-card{position:relative;display:none}
  body[data-active-panel="dashboard"] .meta-card{display:grid}
  body.module-work-active .meta-card{display:none!important}
  .module-entry{grid-template-columns:1fr;gap:18px;padding:24px 18px;border-radius:22px}
  .module-entry h1{font-size:clamp(2.2rem,11vw,3.4rem)}
  .module-entry-side{padding:18px}
  .module-entry-actions{display:grid;grid-template-columns:1fr}
  .module-entry-actions .btn{width:100%}

  .panel.module-started>.section-heading.sticky-heading,
  .panel.module-started>.section-heading:not(.compact-heading){
    position:static!important;display:grid;grid-template-columns:1fr;gap:12px;padding:0 0 14px;margin:0 0 12px;background:transparent!important;border:0!important;box-shadow:none!important
  }
  .panel.module-started>.section-heading h1{font-size:1.75rem;line-height:1.1;margin-top:4px}
  .panel.module-started>.section-heading p{font-size:.82rem;line-height:1.55}
  .panel.module-started>.section-heading .heading-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}
  .panel.module-started>.section-heading .heading-actions>*{width:100%}
  .panel.module-started>.section-heading .score-chip{min-height:52px}
  .module-exit-btn{order:-1}

  .module-toolbar,.appraisal-toolbar{display:none!important}
  .performance-intro{display:none!important}
  .module-layout,.quick-layout,.appraisal-layout,.performance-layout{display:block!important}
  .result-stack{position:static!important;display:grid!important;margin-top:14px}

  .mobile-flow-nav{
    display:grid;gap:12px;margin:0 0 14px;padding:14px;border:1px solid var(--flow-line);border-radius:18px;background:var(--flow-card);box-shadow:0 8px 28px rgba(21,53,45,.07)
  }
  .mobile-flow-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
  .mobile-flow-top strong{font-size:.86rem}
  .mobile-flow-top span{font-size:.7rem;font-weight:800;color:var(--ink-soft)}
  .mobile-flow-progress{height:8px;border-radius:999px;overflow:hidden;background:#e7e9e4}
  .mobile-flow-progress i{display:block;height:100%;width:0;background:var(--flow-accent);border-radius:inherit;transition:width .2s}
  .mobile-flow-buttons{display:grid;grid-template-columns:44px 1fr 44px;gap:8px}
  .mobile-flow-buttons button{min-height:44px}
  .mobile-flow-buttons .flow-view-btn{font-size:.72rem}

  .mobile-question-flow .question-card{display:none!important}
  .mobile-question-flow .question-card.flow-current{display:block!important}
  .mobile-question-flow.flow-results-mode>.flow-question-column{display:none!important}
  .mobile-question-flow:not(.flow-results-mode)>.result-stack{display:none!important}
  .mobile-question-flow.flow-results-mode>.result-stack{display:grid!important}

  .question-list{display:block!important}
  .question-card{
    padding:18px 15px!important;border-radius:21px!important;border:1px solid var(--flow-line)!important;background:#fff!important;box-shadow:0 10px 35px rgba(20,51,43,.08)!important
  }
  .question-head{display:grid!important;grid-template-columns:42px 1fr!important;gap:12px!important;align-items:start!important}
  .question-no{width:42px!important;height:42px!important;border-radius:14px!important;font-size:.78rem!important}
  .question-title-wrap h3,.question-card h3{font-size:1.08rem!important;line-height:1.42!important;letter-spacing:-.015em!important;overflow-wrap:anywhere}
  .question-meta{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin-top:8px!important}
  .question-meta span{padding:5px 8px!important;border-radius:999px!important;background:#eef3ef!important;font-size:.63rem!important;line-height:1.2!important}
  .question-state{grid-column:1/-1!important;justify-self:stretch!important;padding:8px 10px!important;text-align:center!important;border-radius:10px!important;font-size:.68rem!important}
  .score-block{margin:15px 0 0!important;padding:14px 10px!important;border-radius:16px!important}
  .final-score-heading{display:grid!important;gap:3px!important;margin-bottom:10px!important}
  .final-score-heading strong{font-size:.82rem!important}
  .final-score-heading span{font-size:.68rem!important;line-height:1.4!important}
  .score-row{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important}
  .score-option label{min-width:0!important;min-height:64px!important;padding:7px 2px!important;border-radius:12px!important}
  .score-option label b{font-size:1.05rem!important}
  .score-option label small{display:block!important;max-width:none!important;font-size:.56rem!important;line-height:1.08!important;overflow-wrap:anywhere}
  .answer-guide{margin:12px 0 0!important;border-radius:15px!important}
  .answer-guide>summary{padding:13px!important;min-height:48px!important}
  .answer-guide>summary strong{font-size:.78rem!important}
  .answer-guide>summary small{display:block!important;font-size:.62rem!important;line-height:1.35!important}
  .guide-heading{padding:12px!important}
  .guide-list{display:grid!important;grid-template-columns:1fr!important}
  .guide-item{min-height:auto!important;padding:12px!important;border-right:0!important}
  .guide-item p{font-size:.72rem!important;line-height:1.55!important}
  .question-note{margin:12px 0 0!important}
  .question-note textarea{min-height:86px!important;font-size:16px!important}
  .question-actions{display:grid!important;grid-template-columns:1fr!important;margin:12px 0 0!important}
  .question-actions .btn{min-height:48px!important;font-size:.78rem!important}
  .clear-score{order:2!important;text-align:center!important;margin:0!important;padding:9px!important}

  /* Property analysis: one readable section and vertical traffic cards. */
  .property-mode-card,.inline-layer-switch,.transaction-switch,.layer-intro{border-radius:18px!important}
  .property-mode-buttons{grid-template-columns:1fr!important}
  .layer-main,.layer-side{min-width:0}
  .layer-group summary{align-items:flex-start!important}
  .layer-group summary>span{min-width:0;align-items:flex-start!important}
  .layer-group summary strong{font-size:.88rem!important;line-height:1.35!important;overflow-wrap:anywhere}
  .layer-fields,.layer-fields.cols-2,.layer-fields.cols-3,.range-grid,.finance-split,.traffic-observation-grid{grid-template-columns:1fr!important}
  .layer-field input,.layer-field select,.layer-field textarea{font-size:16px!important;min-height:48px!important}
  .range-field{display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important;padding:13px!important;border:1px solid var(--flow-line);border-radius:15px;background:#fff}
  .range-field>span{grid-column:1/-1!important;font-size:.78rem!important;line-height:1.35!important}
  .range-field input[type="range"]{width:100%;min-width:0}
  .traffic-table{display:grid!important;gap:12px!important;padding:0!important;border:0!important;background:transparent!important;overflow:visible!important}
  .traffic-head{display:none!important}
  .traffic-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;padding:13px!important;border:1px solid var(--flow-line)!important;border-radius:16px!important;background:#fff!important}
  .traffic-row>strong{grid-column:1/-1!important;display:flex!important;justify-content:space-between!important;align-items:center!important;padding:0 2px 5px!important;font-size:.88rem!important}
  .traffic-row>strong small{display:inline!important;font-size:.64rem!important;color:var(--ink-soft)!important}
  .traffic-row .traffic-cell{display:grid!important;gap:7px!important;min-width:0!important;padding:10px!important;border:1px solid rgba(17,62,53,.10)!important;border-radius:13px!important;background:#fafbf8!important}
  .traffic-row .traffic-cell::before{display:block;color:var(--ink);font-size:.68rem;font-weight:900;line-height:1.25}
  .traffic-row .traffic-cell:nth-child(2)::before{content:"Sabah · 07:00–10:00"}
  .traffic-row .traffic-cell:nth-child(3)::before{content:"Öğle · 11:00–14:00"}
  .traffic-row .traffic-cell:nth-child(4)::before{content:"Akşam · 17:00–20:00"}
  .traffic-row .traffic-cell:nth-child(5)::before{content:"Gece · 21:00–00:00"}
  .traffic-count-control,.traffic-estimate-control{min-width:0!important}
  .traffic-cell input[type="number"]{width:100%!important;min-width:0!important;font-size:16px!important}
  .traffic-cell input[type="range"]{width:100%!important;min-width:0!important}
  .traffic-cell>[data-traffic-result]{display:flex!important;justify-content:space-between!important;align-items:center!important;width:100%!important}
  .traffic-explainer{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:14px!important}

  /* Performance cards: readable rather than compressed. */
  .performance-toolbar,.registry-form{grid-template-columns:1fr!important}
  .performance-criterion{padding:16px!important;border-radius:20px!important}
  .performance-criterion-head{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .calibration-grid{grid-template-columns:1fr!important}
  .performance-kpi-grid{grid-template-columns:1fr 1fr!important}
  .data-card{overflow:hidden}
  .table-wrap{overflow:auto;-webkit-overflow-scrolling:touch}

  input,select,textarea,button{max-width:100%}
  input,select,textarea{font-size:16px}
}

@media (max-width:520px){
  .topbar{position:sticky;top:0}
  .brand strong{max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .top-actions #saveCaseBtn{display:none!important}
  .signed-user span:not(.signed-avatar){display:none}
  .module-entry{margin-inline:-2px;padding:22px 16px}
  .module-entry h1{font-size:2.45rem}
  .module-entry-facts{display:grid;grid-template-columns:1fr 1fr}
  .module-entry-facts span{text-align:center}
  .panel.module-started>.section-heading .heading-actions{grid-template-columns:1fr}
  .score-row{gap:4px!important}
  .score-option label{min-height:61px!important}
  .score-option label small{font-size:.52rem!important}
  .traffic-row{grid-template-columns:1fr!important}
  .traffic-row>strong{grid-column:1!important}
  .performance-kpi-grid{grid-template-columns:1fr!important}
}

@media print{
  .module-entry,.module-exit-btn,.mobile-flow-nav{display:none!important}
  .panel.module-not-started>:not(.module-entry){display:block!important}
}

/* Mobile file context and application catalogue */
.mobile-file-meta{display:none}
.app-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.app-catalog-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px;border:1px solid var(--flow-line);border-radius:17px;background:#fff;text-align:left;color:var(--ink);transition:transform .18s,border-color .18s,box-shadow .18s}
.app-catalog-card:hover{transform:translateY(-2px);border-color:rgba(11,87,76,.28);box-shadow:0 10px 28px rgba(20,51,43,.08)}
.app-catalog-card>span:first-child{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--flow-soft);color:var(--flow-accent);font-size:.72rem;font-weight:900}
.app-catalog-card strong{display:block;font-size:.82rem;margin-bottom:3px}
.app-catalog-card small{display:block;color:var(--ink-soft);font-size:.68rem;line-height:1.35}
.app-catalog-card>span:last-child{font-size:1.1rem;color:var(--flow-accent)}

@media(max-width:860px){
  .app-catalog{grid-template-columns:1fr!important}
  .mobile-file-meta{display:block;margin:0 0 13px;border:1px solid var(--flow-line);border-radius:17px;background:var(--flow-card);overflow:hidden}
  .mobile-file-meta>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:12px 14px;cursor:pointer;list-style:none;font-size:.78rem;font-weight:900}
  .mobile-file-meta>summary::-webkit-details-marker{display:none}
  .mobile-file-meta>summary span{font-size:.66rem;font-weight:700;color:var(--ink-soft)}
  .mobile-file-meta-body{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 13px 13px}
  .mobile-file-meta .field{min-width:0}
  .mobile-file-meta .field label{font-size:.66rem}
  .mobile-file-meta .field input{min-height:45px}
  .mobile-file-meta-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:2px}
  .mobile-file-meta-actions .btn{min-height:45px}
}
@media(max-width:520px){.mobile-file-meta-body{grid-template-columns:1fr}.mobile-file-meta-actions{grid-column:1}}
