/* EstateStudio 1.3.7 — mobile-first visual refresh.
   Scoped and additive: no alteration to transactions, item state, photography or pricing. */
:root {
  --es-forest:#123e30; --es-deep:#081c16; --es-deepest:#07130f;
  --es-green:#205b43; --es-gold:#cba466; --es-fog:#edf3ed;
  --es-text:#18392e; --es-subtle:#bfd4c4;
}
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.es-menu-toggle{display:none;}
body { overflow-x:clip; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid #d8a74f!important; outline-offset:2px;
}
/* Branded headers and hero sections at every screen size. */
.admin-body .topbar{background:linear-gradient(120deg,#081b15,#143c2b);border-bottom:1px solid #315b44;}
.admin-body .topbar .brand{color:#f7fcf8;}
.admin-body .topbar .brand span{color:#dab276;}
.admin-body .topbar .brand small{color:#d4e4d7;border-color:#567e65;}
.admin-body .topbar .nav a{color:#e1f0e6;}
.admin-body .page-head{background:linear-gradient(120deg,#0a251b,#194634);padding:22px 25px;border:1px solid #355d47;border-radius:17px;color:#fff;margin-top:23px;}
.admin-body .page-head h1{color:#fff;}
.admin-body .page-head .muted{color:#d5e5d8;}
.public-header{background:linear-gradient(120deg,#081912,#16432f);border-bottom:1px solid #375b45;}
.public-header .brand{color:#fff;}.public-header .brand span{color:#d9ad68;}
.public-header .ghost-link{color:#e6f2e8;}
.public-body .hero{background:linear-gradient(125deg,#092219,#174b37);padding:42px 34px;border-radius:19px;margin-top:21px;color:#fff;}
.public-body .hero:after{display:none;}
.public-body .hero h1{color:#fff;}.public-body .hero .eyebrow{color:#e3bd80;}
.public-body .hero>p:not(.eyebrow),.public-body .hero .hero-meta{color:#d6e9db;}
.public-body .hero a{color:#f1d69f;}
/* Stronger brand identity across the app, including desktop. */
.admin-body { background:linear-gradient(180deg,#eef3ef,#f6f8f5 420px); }
.admin-body .stat { border-color:#315d48; background:linear-gradient(145deg,#153e30,#0c291f);color:#fff;box-shadow:0 12px 22px rgba(10,37,25,.1); }
.admin-body .stat:nth-child(2n) { background:linear-gradient(140deg,#0b241c,#153c30); }
.admin-body .stat .muted {color:#d4e6d7;}
.admin-body .stat b {color:#fff;}
.admin-body .panel {border-color:#dce6de;}
.admin-body .page-head .eyebrow {color:#ae8450;}
.admin-body .btn {background:#174735;border-color:#174735;}
.admin-body .btn.secondary {background:#fff;color:#164133;border-color:#adc6b6;}
.admin-body .btn.danger {background:#fff;color:#a33a33;border-color:#ddbbb9;}
.admin-body .data-table th {color:#456a56;}
.admin-body .chip {border-color:#cbdccf;}
.admin-body .section-head h2{color:#103c2c;}
.admin-body .table-image {border:1px solid #d5e2d9;}
/* Mobile layout: readability and touch interaction take priority. */
@media(max-width:800px){
  html {font-size:16px;}
  body {font-size:16px; line-height:1.5;}
  .container {width:calc(100% - 28px);max-width:100%;margin-inline:auto;}
  .admin-body {background:#eef3ed;}
  .admin-body .topbar {
    position:sticky;top:0;z-index:1200;display:flex;flex-wrap:nowrap;
    align-items:center;justify-content:space-between;gap:10px;
    min-height:68px;padding:10px 14px;background:linear-gradient(125deg,#07150f,#123c2d);
    border-bottom:2px solid #2b6646;box-shadow:0 4px 18px #06190e35;
  }
  .admin-body .topbar .brand {color:#fff;font-size:clamp(20px,5.6vw,27px);letter-spacing:-.065em;flex:0 1 auto;min-width:0;}
  .admin-body .topbar .brand span {color:#d5aa69;}
  .admin-body .topbar .brand small {color:#e0e9df;border-color:#56806a;font-size:9px;margin-left:2px;}
  .es-menu-toggle {display:flex!important;align-items:center;justify-content:center;gap:9px;min-width:48px;min-height:48px;
    background:#1d4d38;color:#fff;border:1px solid #487455;border-radius:12px;padding:8px 12px;font-size:15px;font-weight:700;flex-shrink:0;}
  .es-menu-toggle .es-menu-icon{font-size:23px;line-height:1;}
  .admin-body .topbar.es-mobile-ready .nav {display:none;position:absolute;top:calc(100% + 2px);left:8px;right:8px;
    z-index:1201;padding:12px;background:linear-gradient(145deg,#0b261c,#154331);
    border:1px solid #39684b;border-radius:0 0 16px 16px;box-shadow:0 18px 38px #03100788;
    grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:min(75dvh,590px);overflow-y:auto;}
  .admin-body .topbar.es-mobile-ready.es-menu-open .nav{display:grid;}
  .admin-body .topbar.es-mobile-ready .nav a {display:flex;align-items:center;min-height:53px;line-height:1.25;
    font-size:15px;font-weight:700;background:#204a37;color:#f3faf3;border:1px solid #477358;
    border-radius:11px;padding:11px;overflow-wrap:anywhere;text-decoration:none;}
  .admin-body .topbar.es-mobile-ready .nav a:active{background:#37694d;}
  .admin-body .topbar:not(.es-mobile-ready) {flex-wrap:wrap;}
  .admin-body .topbar:not(.es-mobile-ready) .nav {width:100%;gap:7px;}
  .admin-body .topbar:not(.es-mobile-ready) .nav a{font-size:14px;color:#fff;min-height:40px;padding:9px;}
  .admin-body .page-head {margin:14px 0 16px;padding:19px 19px 17px;display:flex;
    flex-direction:column;align-items:flex-start;gap:8px;
    background:linear-gradient(127deg,#0a271e,#153c2c 70%,#1c5339);
    border:1px solid #325c47;border-radius:17px;color:#f9fcf9;box-shadow:0 12px 22px #0b2d1e1b;}
  .admin-body .page-head h1 {font-size:clamp(27px,7.3vw,36px);color:#fff;line-height:1.13;margin-bottom:0;overflow-wrap:anywhere;}
  .admin-body .page-head .eyebrow {font-size:11px;color:#e0b979;letter-spacing:.14em;}
  .admin-body .page-head .muted {color:#cbded0;font-size:13px;}
  .admin-body h2 {font-size:clamp(22px,5.6vw,29px);}
  .admin-body h3 {font-size:19px;}
  .admin-body .stat-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .admin-body .stat {min-width:0;min-height:132px;display:flex;flex-direction:column;justify-content:space-between;
    padding:17px;border-radius:15px;box-shadow:0 7px 20px #0d3b261c;}
  .admin-body .stat .muted {font-size:13px;line-height:1.32;color:#cbe1d1;letter-spacing:.01em;}
  .admin-body .stat b {font-size:clamp(34px,9vw,46px);line-height:1.05;}
  .admin-body .panel {padding:17px 15px;margin:14px 0;border-radius:16px;box-shadow:0 6px 18px #143c2410;min-width:0;}
  .admin-body .section-head,.admin-body .catalog-heading {align-items:flex-start;margin:24px 0 12px;gap:12px;}
  .admin-body .section-head h2 {margin:0;font-size:26px;}
  .admin-body .btn,.admin-body button.btn {min-height:48px;padding:11px 15px;border-radius:11px;font-size:15px;line-height:1.25;}
  .admin-body .btn.mini {min-height:42px;padding:9px 11px;font-size:13px;}
  .admin-body .quick-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:9px;}
  .admin-body .quick-actions .btn {width:100%;min-width:0;}
  .admin-body .quick-actions .btn:first-child:last-child {grid-column:1/-1;}
  .admin-body .toolbar,.admin-body .toolbar form {width:100%;align-items:stretch;gap:10px;}
  .admin-body .toolbar {display:flex;flex-direction:column;}
  .admin-body .toolbar form {display:grid;grid-template-columns:1fr;}
  .admin-body .toolbar input,.admin-body .toolbar select,.admin-body .filters input {min-height:48px;font-size:16px;min-width:0;width:100%;}
  .admin-body .form-grid,.admin-body .two-col,.admin-body .price-fields {grid-template-columns:1fr;gap:14px;}
  .admin-body .field {font-size:14px;gap:7px;}
  .admin-body .field input:not([type=checkbox]),.admin-body .field select,.admin-body .field textarea,
  .admin-body .comp select {font-size:16px;min-height:49px;border-radius:11px;padding:12px;}
  .admin-body .form-stack{gap:16px;}
  .admin-body .button-row {align-items:stretch;gap:9px;}
  .admin-body .button-row .btn {flex:1 1 140px;}
  .admin-body .photo-entry-grid{grid-template-columns:1fr;gap:12px;}
  .admin-body .photo-entry-grid .photo-upload{padding:16px;border-radius:14px;}
  .admin-body .admin-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
  .admin-body .admin-photo img {height:140px;}
  .admin-body .photo-buttons {gap:7px;}
  .admin-body .photo-buttons .btn {min-height:42px;}
  .admin-body .login-shell {padding:15px;}
  .admin-body .login-box {padding:22px 20px;border-radius:16px;}
  .admin-body .login-box h1{font-size:32px;}
  .admin-body .sale-row{gap:12px;}
  .admin-body .data-table{width:100%;table-layout:auto;border-collapse:separate;border-spacing:0;}
  .admin-body .table-scroll{overflow-x:visible;}
  .admin-body .data-table.es-card-table {display:block;font-size:15px;}
  .admin-body .data-table.es-card-table tbody {display:flex;flex-direction:column;gap:12px;}
  .admin-body .data-table.es-card-table tr.es-head-row {display:none;}
  .admin-body .data-table.es-card-table tr.es-data-row {display:grid;grid-template-columns:1fr;gap:0;min-width:0;
    padding:9px 14px;border:1px solid #d6e2d8;border-radius:15px;
    background:#fff;box-shadow:0 6px 15px #0b3b1c0b;}
  .admin-body .data-table.es-card-table td {width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
    min-width:0;min-height:38px;padding:11px 2px;border-bottom:1px solid #ebefea;overflow-wrap:break-word;flex-direction:column;align-items:flex-start;}
  .admin-body .data-table.es-card-table td:last-child{border-bottom:0;}
  .admin-body .data-table.es-card-table td:before{content:attr(data-es-label);font-size:12px;font-weight:800;line-height:1.5;
    text-transform:uppercase;letter-spacing:.07em;color:#65816c;min-width:0;max-width:100%;flex:0 0 auto;}
  .admin-body .data-table.es-card-table td[data-es-label=""]:before {display:none;}
  .admin-body .data-table.es-card-table .es-cell-content{display:block;width:100%;min-width:0;line-height:1.5;overflow-wrap:break-word;}
  .admin-body .data-table.es-card-table td a {font-weight:700;overflow-wrap:normal;word-break:normal;}
  .admin-body .data-table.es-card-table td .table-image {width:100px;height:95px;border-radius:10px;}
  .admin-body .data-table.es-card-table td .inline-form {margin:0 0 6px;}
  .admin-body .data-table.es-card-table td .btn {min-width:0;}
  .admin-body .data-table.es-card-table td:first-child strong {font-size:17px;color:#123c2e;}
  .admin-body .comp{gap:8px;border-radius:9px;}
  .is-sale-grid {grid-template-columns:1fr!important;gap:13px;}
  .is-sale-card{background:linear-gradient(145deg,#0b291e,#174734)!important;border:1px solid #44775a;
    box-shadow:0 14px 25px #081e1522;padding:19px;border-radius:18px;color:#fff;}
  .is-sale-card h3,.is-sale-card h3 a{color:#fff!important;font-size:24px;}
  .is-sale-card .is-address {color:#d9e7dd;font-size:14px;}
  .is-sale-card .is-eyebrow {color:#dfbb82;}
  .is-sale-card .is-chip{background:#1c513d;color:#ecf6ed;border:1px solid #5c906e;}
  .is-sale-card .is-stats{background:#071d15;border:1px solid #336347;}
  .is-sale-card .is-stats strong{color:#fff;font-size:28px;}
  .is-sale-card .is-stats span{color:#c8dfcf;font-size:13px;}
  .is-sale-card .is-open {background:#e0b876;color:#172e22!important;}
  .is-sale-card .is-workspace {background:#245b42;border-color:#5c896c;color:#fff!important;}
  .is-sale-card .is-actions a{min-height:49px;display:flex;align-items:center;justify-content:center;font-size:15px;}
  .is-scope-bar{background:linear-gradient(125deg,#081c16,#184b35);padding:20px;border-radius:17px;}
  .is-scope-bar .is-scope-actions {display:grid;grid-template-columns:1fr 1fr;gap:9px;width:100%;}
  .is-scope-bar .is-scope-actions .btn {color:#133a2b!important;min-width:0;}
  /* Sale workspace: one large legible item card per row. */
  .sw-breadcrumb{font-size:14px;}
  .sw-summary{padding:21px;border:1px solid #367451;box-shadow:0 15px 27px #0b342328;}
  .sw-summary h2{font-size:29px;}
  .admin-body .sw-summary p{font-size:14px;line-height:1.45;}
  .sw-summary-head{flex-wrap:wrap;}
  .admin-body .sw-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:0;margin-top:18px;padding-top:0;}
  .sw-stats>div{padding:14px 3px;border-bottom:1px solid #ffffff32;}
  .sw-stats>div:nth-child(2n){border-right:0;}
  .sw-stats>div:nth-last-child(-n+2){border-bottom:0;}
  .admin-body .sw-stats strong{font-size:28px;}
  .admin-body .sw-stats span{font-size:13px;}
  .admin-body .sw-actions{display:grid;grid-template-columns:1fr;gap:10px;}
  .admin-body .sw-action{min-height:82px;padding:16px;border-radius:14px;}
  .admin-body .sw-action strong{font-size:17px;}
  .admin-body .sw-action small{font-size:13px;opacity:.95;}
  .sw-action-ai{background:#133a2b!important;border:1px solid #427456!important;color:white!important;}
  .sw-action-camera{background:#205c43!important;border-color:#397951!important;color:white!important;}
  .sw-action-review{background:#fff;border-color:#cfded3;}
  .sw-grid{grid-template-columns:1fr!important;gap:14px;}
  .sw-card{border-radius:17px;border-color:#ceded2;}
  .sw-card-image{aspect-ratio:5/3;}
  .admin-body .sw-card-body{padding:15px;gap:11px;}
  .admin-body .sw-item-title{font-size:19px;}
  .admin-body .sw-desc{font-size:14px;line-height:1.45;}
  .admin-body .sw-price{padding:14px;background:#eaf3e9;}
  .admin-body .sw-price strong{font-size:21px;}
  .admin-body .sw-price span,.admin-body .sw-price small{font-size:13px;}
  .admin-body .sw-state,.admin-body .sw-card-top{font-size:12px;}
  .admin-body .sw-card-actions{flex-direction:row;}
  .admin-body .sw-card-actions form{flex:1;}
  .admin-body .sw-card-actions .sw-edit,.admin-body .sw-card-actions .sw-single {width:100%;min-height:49px;font-size:14px;}
  .admin-body .sw-card-actions .sw-edit{flex:1;}
  .sw-filters{display:grid;grid-template-columns:1fr;}
  .sw-filters input,.sw-filters select{min-height:50px;font-size:16px;}
  .sw-heading h2{font-size:26px;}
  .sw-warning,.sw-note,.sw-working{font-size:14px;line-height:1.55;}
  /* Public catalog: green/black hero and readable product cards. */
  .public-body{background:#f3f6f1;}
  .public-header{background:linear-gradient(135deg,#081811,#163e2d);border-bottom:2px solid #345a42;}
  .public-header .header-inner{min-height:68px;gap:9px;}
  .public-header .brand{font-size:clamp(21px,6vw,26px);color:#fff;}
  .public-header .brand span{color:#d9b06c;}
  .public-header .ghost-link {font-size:13px;color:#f0ebdf;border:1px solid #61826c;border-radius:9px;padding:10px;white-space:nowrap;}
  .public-body .hero{padding:29px 19px;border-radius:17px;margin:17px 0 20px;
    background:linear-gradient(135deg,#071d15,#174935);color:#fff;box-shadow:0 10px 28px #0b37252a;}
  .public-body .hero h1{font-size:clamp(29px,8vw,42px);color:#fff;line-height:1.15;}
  .public-body .hero .eyebrow{font-size:10px;color:#e4bd81;}
  .public-body .hero>p:not(.eyebrow),.public-body .hero .hero-meta{color:#d5e6da;font-size:14px;}
  .public-body .hero a{color:#f2d59f;}
  .public-body .hero:after{display:none;}
  .public-body .catalog-grid{grid-template-columns:1fr;gap:14px;}
  .public-body .item-card{border-radius:16px;box-shadow:0 8px 20px #133c2810;border:1px solid #d5e0d7;}
  .public-body .item-photo{aspect-ratio:5/3;}
  .public-body .item-card-body{padding:15px;min-height:0;gap:9px;}
  .public-body .item-card-body>strong{font-size:18px;}
  .public-body .item-code{font-size:13px;}
  .public-body .item-card-bottom .price{font-size:22px;}
  .public-body .filters{border-radius:14px;}
  .public-body .filters input,.public-body .filters select{min-height:48px;font-size:16px;}
  .public-body .btn {min-height:48px;font-size:15px;}
  .public-body .detail-grid{grid-template-columns:1fr;gap:20px;}
  .public-body .detail-copy h1{font-size:32px;}
  .public-body .facts>div{grid-template-columns:105px 1fr;gap:12px;}
  .public-body .facts dt,.public-body .facts dd{font-size:14px;}
  .public-body .big-price{font-size:30px;}
  .public-body .footer{margin-top:30px;font-size:13px;}
  .public-body .empty-state{padding:45px 20px;font-size:16px;}
  .item-camera-card{background:linear-gradient(138deg,#071e16,#144532);border-color:#4e8a60;}
  .item-camera-controls{grid-template-columns:1fr 1fr;}
  .item-camera-button{font-size:14px;min-height:62px;}
  .cap-navigation,.cap-layout,.cap-select{box-sizing:border-box;}
  .cap-navigation{min-height:66px;}
  .cap-btn{min-height:56px;}
  .cap-metric>span{font-size:13px;}
  .cap-metric strong{font-size:clamp(38px,10vw,57px);}
}
@media(max-width:390px){
  .container{width:calc(100% - 20px);}
  .admin-body .topbar .brand{font-size:21px;}
  .admin-body .stat{padding:13px;min-height:120px;}
  .admin-body .stat .muted{font-size:12px;}
  .admin-body .stat b{font-size:35px;}
  .admin-body .panel{padding:13px;}
  .admin-body .data-table.es-card-table td{gap:8px;}
  .admin-body .data-table.es-card-table td:before{flex-basis:30%;min-width:73px;font-size:11px;}
  .is-scope-bar .is-scope-actions{grid-template-columns:1fr;}
}
@media(min-width:560px) and (max-width:800px){
  .public-body .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .sw-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .admin-body .stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
