:root{
  --bg:#f6efe3;
  --panel:#fffdf8;
  --text:#17211b;
  --muted:#6d756f;
  --border:#e7dbc9;
  --accent:#1e6b4b;
  --accentSoft:#e7f3ed;
  --nav:#efe2cf;
  --nav2:#e3d3bc;
  --navy:#344255;
  --red:#df0909;
  --brown:#cc5a07;
  --yellow:#ffba05;
  --green:#5b9f3b;
  --blue:#0c82d4;
  --grey:#bdc7ca;
  --amberSoft:#fff5d8;
  --redSoft:#fff0ef;
  --blueSoft:#edf5fb;
  --shadow:0 10px 28px rgba(24,33,27,.07);
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
}

button,input,select{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}

.app{
  min-height:100vh;
  display:grid;
  grid-template-columns:245px 1fr;
}

.side{
  background:var(--nav);
  color:#4b3d2f;
  padding:22px 16px;
  display:flex;
  flex-direction:column;
  gap:22px;
}

.brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
  padding:4px 8px 2px;
  min-height:62px;
}

.brand-logo-img{
  display:none;
  width:156px;
  max-width:100%;
  height:auto;
  object-fit:contain;
}

.brand-fallback{
  display:flex;
  align-items:center;
  gap:9px;
  font-weight:900;
  font-size:20px;
  color:#22384a;
}

.brand-fallback b{
  color:#4ba5d8;
}

.brand-dial{
  width:36px;
  height:36px;
  border-radius:50%;
  background:conic-gradient(
    #ef1111 0 14%,
    #e96f0b 14% 28%,
    #f4c400 28% 42%,
    #5ca144 42% 60%,
    #0d7fd3 60% 78%,
    #3d4652 78% 100%
  );
  position:relative;
  border:4px solid #dfe3e4;
}

.brand-dial:after{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:50%;
  background:#dfe3e4;
}

.brand-caption{
  color:#6e5d4b;
  font-size:12px;
  font-weight:700;
  padding-left:4px;
}

.nav{
  display:grid;
  gap:8px;
}

.nav button{
  border:0;
  background:transparent;
  color:#6b5a47;
  text-align:left;
  padding:12px 14px;
  border-radius:12px;
  font-weight:750;
  display:flex;
  align-items:center;
  gap:10px;
}

.nav button:hover,
.nav button.active{
  background:var(--nav2);
  color:#3d3329;
  box-shadow:inset 0 0 0 2px #3d3329;
}

.nav .nav-add{
  color:var(--accent);
}

.side-note{
  margin-top:auto;
  padding:14px;
  border-radius:14px;
  background:#e4d4bd;
  color:#665746;
  font-size:12px;
  line-height:1.5;
}

.main{min-width:0}

.topbar{
  height:74px;
  background:rgba(255,253,248,.94);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 28px;
  position:relative;
  z-index:10;
}

.topbar h1{
  font-size:20px;
  margin:0;
}

.topbar .right{
  display:flex;
  gap:9px;
  align-items:center;
}

/* SEALMETER TOPBAR ACCOUNT LEFT V2 */

.topbar-left{
  min-width:0;
  display:flex;
  align-items:center;
  gap:20px;
}

.account-pill{
  padding:0;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#51483e;
  font-size:13px;
  display:flex;
  align-items:center;
  gap:10px;
  max-width:300px;
  white-space:nowrap;
  overflow:hidden;
}

.topbar-left #pageTitle{
  padding-left:20px;
  border-left:1px solid var(--border);
}

.account-firma-logo{
  display:none;
  width:76px;
  height:44px;
  flex:0 0 76px;
  object-fit:contain;
  object-position:center center;
  padding:0;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  transform:scale(1.42);
  transform-origin:center center;
}

#accountName{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  font-weight:750;
}

.content{
  padding:28px;
  max-width:1260px;
  margin:auto;
}

.view{display:none}
.view.active{display:block}

.hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:20px;
}

.hero h2{
  font-size:28px;
  margin:0 0 5px;
}

.hero p{
  margin:0;
  color:var(--muted);
}

.btn{
  border:0;
  border-radius:12px;
  padding:10px 14px;
  font-weight:780;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:41px;
  transition:.15s ease;
}

.btn:hover{
  transform:translateY(-1px);
}

.btn:disabled{
  opacity:.55;
  cursor:not-allowed;
  transform:none;
}

.btn-primary{
  background:var(--accent);
  color:#fff;
}

.btn-soft{
  background:var(--accentSoft);
  color:var(--accent);
}

.btn-ghost{
  background:#fffdf8;
  border:1px solid var(--border);
  color:var(--text);
}

.btn-blue{
  background:var(--blueSoft);
  color:#245d82;
}

.btn-amber{
  background:#fff2c8;
  color:#785d00;
}

.btn-danger{
  background:#fff0ef;
  color:#b42318;
  border:1px solid #f1c8c5;
}

.btn-archive{
  background:#eef0f2;
  color:#44505b;
}

.btn-small{
  padding:8px 10px;
  min-height:36px;
  font-size:12px;
}

.icon-svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:0 0 auto;
}

.grid4{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.stat{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:18px;
  padding:19px;
  box-shadow:var(--shadow);
}

.stat .stat-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.stat .stat-icon{
  width:36px;
  height:36px;
  border-radius:11px;
  background:#f1ece4;
  display:grid;
  place-items:center;
  color:#536158;
}

.stat .num{
  font-size:30px;
  font-weight:850;
  margin-top:7px;
}

.stat .lbl{
  color:var(--muted);
  font-size:13px;
}

.card{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:20px;
  box-shadow:var(--shadow);
}

.panel{
  padding:21px;
}

.section-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 14px;
}

.section-title h3{
  margin:0;
  font-size:17px;
}

.section-title p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:12px;
}

.dashboard-grid{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:16px;
  margin-top:16px;
}

.category-list{
  display:grid;
  gap:9px;
}

.category-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 12px;
  background:#fbf6ee;
  border:1px solid var(--border);
  border-radius:12px;
}

.category-row strong{
  font-size:13px;
}

.count-badge{
  min-width:30px;
  text-align:center;
  padding:5px 8px;
  border-radius:999px;
  background:#eee6da;
  font-size:12px;
  font-weight:800;
}

.warning-list{
  display:grid;
  gap:9px;
}

.warning-item{
  padding:11px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  display:flex;
  gap:10px;
  align-items:flex-start;
}

.warning-item.red{
  background:var(--redSoft);
  border-color:#f1c8c5;
  color:#8c201a;
}

.warning-item.amber{
  background:var(--amberSoft);
  border-color:#efd99c;
  color:#715900;
}

.warning-item.green{
  background:#edf7f0;
  border-color:#cae4d1;
  color:#2c6842;
}

.warning-item .wi-body{
  min-width:0;
}

.warning-item strong{
  display:block;
  font-size:13px;
}

.warning-item small{
  display:block;
  margin-top:3px;
  color:inherit;
  opacity:.85;
  line-height:1.4;
}

.toolbar{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:16px;
}

.toolbar .search-wrap{
  position:relative;
  flex:1;
  min-width:240px;
}

.toolbar .search-wrap .search-icon{
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  color:#7b817d;
}

.toolbar input,
.toolbar select{
  border:1px solid var(--border);
  border-radius:12px;
  padding:11px 12px;
  background:#fffdf9;
}

.toolbar .search-wrap input{
  width:100%;
  padding-left:39px;
}

.toolbar select{
  min-width:190px;
}

.category-section{
  margin-bottom:20px;
}

.category-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 10px;
  padding:0 2px;
}

.category-head h3{
  margin:0;
  font-size:16px;
}

.category-head span{
  font-size:12px;
  color:var(--muted);
}

.products{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}

.product{
  display:grid;
  grid-template-columns:100px 1fr;
  gap:14px;
  padding:14px;
  background:#fffdf8;
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:0 4px 16px rgba(24,33,27,.04);
}

.product-media{
  width:100px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}

.product-image{
  width:100px;
  height:100px;
  border-radius:14px;
  object-fit:cover;
  background:#f0f1ef;
}

.product-firma-logo{
  width:100%;
  min-height:30px;
  padding:4px 6px;
  border-radius:9px;
  background:#fff;
  border:1px solid var(--border);
  display:flex;
  align-items:center;
  justify-content:center;
}

.product-firma-logo img{
  display:block;
  max-width:88px;
  max-height:26px;
  width:auto;
  height:auto;
  object-fit:contain;
}

.product h3{
  margin:0 0 4px;
  font-size:16px;
}

.product .meta{
  font-size:12px;
  color:var(--muted);
  margin-bottom:9px;
  line-height:1.5;
}

.status-line{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-bottom:8px;
}

.chip{
  font-size:11px;
  font-weight:800;
  border-radius:999px;
  padding:5px 8px;
  background:#f0ede7;
  color:#59615c;
}

.chip.stt{
  background:#fce7e5;
  color:#9c221a;
}

.chip.tett{
  background:#fff0c8;
  color:#735700;
}

.chip.active{
  background:#e9f5ed;
  color:#26623d;
}

.chip.archived{
  background:#eceff1;
  color:#58636d;
}

.mini-meter-wrap{
  margin-top:9px;
  display:grid;
  gap:9px;
}

.mini-meter{
  background:var(--navy);
  color:#fff;
  border-radius:14px;
  padding:10px 10px 11px;
}

.mini-meter-top{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
  margin-bottom:8px;
  font-size:12px;
  font-weight:850;
}

.mini-meter-top .mm-right{
  font-size:11px;
  color:#dce3e6;
  text-align:right;
}

.mini-meter-tags{
  display:grid;
  grid-template-columns:86px 1fr;
  gap:8px;
  margin-bottom:5px;
}

.mini-meter-tag,
.mini-meter-class{
  color:#fff;
  border-radius:7px;
  padding:7px 8px;
  text-align:center;
  font-weight:900;
  font-size:12px;
}

.meter-track{
  position:relative;
  height:38px;
  padding:0 20px;
  margin-top:5px;
}

.meter-track .track-bg{
  position:absolute;
  left:20px;
  right:20px;
  top:50%;
  height:10px;
  transform:translateY(-50%);
  border-radius:999px;
  background:var(--grey);
}

.meter-track .track-fill{
  transition: width 200ms ease, background-color 200ms ease;
  position:absolute;
  left:20px;
  top:50%;
  height:10px;
  transform:translateY(-50%);
  border-radius:999px;
  z-index:1;
}

.meter-track .track-knob{
  transition: left 200ms ease, background-color 200ms ease;
  position:absolute;
  top:50%;
  width:30px;
  height:30px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:2px solid #fff;
  box-shadow:0 0 0 1px rgba(0,0,0,.18);
  z-index:2;
}

.mini-meter-bottom{
  margin-top:5px;
  display:grid;
  grid-template-columns:1fr 100px;
  gap:8px;
}

.mm-label{
  background:#808184;
  border-radius:8px;
  padding:8px 9px;
  color:#fff;
  font-size:11px;
  font-weight:850;
  text-align:center;
}

.mm-value{
  background:#fffed1;
  border-radius:8px;
  padding:8px 9px;
  color:#252525;
  font-size:12px;
  font-weight:900;
  text-align:center;
}

.digital-live{
  margin-top:8px;
  padding:8px 9px;
  border-radius:8px;
  background:#152232;
  color:#fff;
  text-align:center;
  font:800 14px/1.2 Consolas,ui-monospace,monospace;
  font-variant-numeric:tabular-nums;
}

.digital-live small{
  color:#9eb0bd;
  font:700 9px/1 Inter,system-ui,sans-serif;
  margin-right:7px;
}

.product-warning{
  margin-top:9px;
  padding:9px 10px;
  border-radius:10px;
  font-size:11px;
  font-weight:720;
  line-height:1.45;
  display:flex;
  gap:7px;
  align-items:flex-start;
}

.product-warning.red{
  background:#fff0ef;
  color:#9b241c;
}

.product-warning.amber{
  background:#fff5d8;
  color:#735a00;
}

.product-warning.green{
  background:#edf7f0;
  color:#2c6842;
}

.pactions{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-top:10px;
}

.empty-list{
  padding:38px;
  text-align:center;
  color:var(--muted);
}

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

.form-fields{
  display:grid;
  gap:14px;
}

.field label{
  display:block;
  font-size:13px;
  font-weight:800;
  margin-bottom:7px;
}

.field input,
.field select{
  width:100%;
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px 13px;
  background:#fffdf8;
  color:var(--text);
  outline:none;
}

.field input:focus,
.field select:focus{
  border-color:#8bb7a3;
  box-shadow:0 0 0 3px #e8f4ee;
}

.row2{
  display:grid;
  grid-template-columns:1fr 150px;
  gap:10px;
}

.row2-equal{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.field-help{
  margin-top:6px;
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
}

.image-drop{
  border:1.5px dashed #cdd5cf;
  border-radius:18px;
  min-height:250px;
  display:grid;
  place-items:center;
  text-align:center;
  overflow:hidden;
  background:#fbf6ee;
  position:relative;
}

.image-drop img{
  width:100%;
  height:250px;
  object-fit:cover;
  display:none;
}

.image-drop .empty{
  padding:28px;
  color:var(--muted);
}

.image-drop input{
  display:none;
}

.upload-btn{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:10px;
  padding:10px 13px;
  border-radius:11px;
  background:#eef2ef;
  color:#294536;
  font-weight:700;
  cursor:pointer;
}


.image-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:12px;
}

.image-actions .upload-btn{
  margin-top:0;
  min-height:42px;
  box-sizing:border-box;
}

.image-remove-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 13px;
  border:1px solid #e4cbc8;
  border-radius:11px;
  background:#fff7f6;
  color:#7a2f2f;
  font-weight:700;
  cursor:pointer;
}

.image-remove-btn:hover{
  background:#fff0ee;
}

.preview-area{
  display:grid;
  gap:10px;
  margin-top:15px;
}

.preview-card{
  background:var(--navy);
  color:#fff;
  border-radius:18px;
  padding:14px;
}

.preview-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  font-weight:900;
}

.preview-tags{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:9px;
}

.preview-tag{
  padding:8px 9px;
  border-radius:7px;
  text-align:center;
  font-weight:900;
}

.preview-bottom{
  display:grid;
  grid-template-columns:1fr 105px;
  gap:8px;
  margin-top:5px;
}

.form-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-top:17px;
}

.form-message{
  display:none;
  margin-top:12px;
  padding:12px 14px;
  border-radius:12px;
  font-size:13px;
}

.form-message.show{
  display:block;
}

.form-message.success{
  background:#eaf6ef;
  color:#235f3e;
}

.form-message.error{
  background:#fff0ef;
  color:#9b241c;
}

.form-message.warning{
  background:#fff5d8;
  color:#735a00;
}

.modal{
  position:fixed;
  inset:0;
  background:rgba(12,20,16,.46);
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  z-index:60;
}

.modal.open{
  display:flex;
}

.modal-card{
  width:min(600px,100%);
  max-height:90vh;
  overflow:auto;
  background:#fffdf8;
  border-radius:22px;
  padding:22px;
  box-shadow:0 24px 70px rgba(0,0,0,.22);
}

.modal-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

.modal-top h3{
  margin:0;
}

.close{
  border:0;
  background:#f1f3f0;
  border-radius:10px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
}

.qr-wrap{
  display:grid;
  place-items:center;
  padding:18px 0;
}

.qr-wrap img,
.qr-wrap canvas{
  width:250px;
  height:250px;
  max-width:100%;
  object-fit:contain;
  background:#fff;
}

.notice{
  margin-top:12px;
  padding:12px 14px;
  border-radius:12px;
  background:#fff8db;
  color:#725c00;
  font-size:13px;
  line-height:1.5;
}

.modal-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
}

.detail-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
}

.detail-box{
  padding:11px 12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fbf7f0;
}

.detail-box small{
  display:block;
  color:var(--muted);
  font-size:11px;
  margin-bottom:4px;
}

.detail-box strong{
  font-size:13px;
}

.toast-wrap{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:100;
  display:grid;
  gap:9px;
  width:min(380px,calc(100vw - 40px));
}

.toast{
  padding:12px 14px;
  border-radius:13px;
  background:#22322a;
  color:#fff;
  box-shadow:0 12px 32px rgba(0,0,0,.18);
  display:flex;
  gap:9px;
  align-items:flex-start;
  animation:toastIn .18s ease;
}

.toast.success{background:#245f40}
.toast.warning{background:#806300}
.toast.error{background:#92261f}
.toast.info{background:#294d68}

.toast div{
  font-size:13px;
  line-height:1.45;
}

@keyframes toastIn{
  from{
    transform:translateY(8px);
    opacity:0;
  }
  to{
    transform:none;
    opacity:1;
  }
}

.public{
  display:none;
  max-width:920px;
  margin:34px auto;
  padding:0 18px 40px;
}

.public.open{
  display:block;
}

.pub-card{
  background:#fffdf8;
  border:1px solid var(--border);
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow);
}

.pub-cover{
  width:100%;
  height:310px;
  object-fit:cover;
  background:#eee;
}

.pub-body{
  padding:22px;
}

.pub-meta{
  font-size:12px;
  color:var(--muted);
  font-weight:800;
}

.pub-body h1{
  margin:7px 0 5px;
}

.seal-duo{
  margin-top:18px;
  background:var(--navy);
  border-radius:22px;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 1fr;
  color:#fff;
}

.seal-side{
  padding:18px;
  min-width:0;
}

.seal-side+.seal-side{
  border-left:3px solid #aeb5bc;
}

.seal-head{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:4px;
  min-height:30px;
}

.seal-mini-brand{
  font-size:12px;
  color:#90bce8;
  font-weight:900;
}

.seal-title{
  font-size:24px;
  font-weight:900;
  text-align:center;
  margin:2px 0 8px;
}

.seal-tags{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.seal-tag{
  padding:9px;
  border-radius:8px;
  text-align:center;
  font-weight:900;
  font-size:16px;
}

.counter-grid{
  display:grid;
  grid-template-columns:1fr 130px;
  gap:10px;
  margin-top:8px;
}

.counter-label,
.counter-value{
  border-radius:8px;
  padding:9px 10px;
  text-align:center;
  font-weight:850;
}

.counter-label{
  background:#808184;
  color:#fff;
}

.counter-value{
  background:#fffed1;
  color:#252525;
}

.small-dates{
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin-top:9px;
  color:#dbe1e5;
  font-size:11px;
}

.preview-note{
  margin-top:12px;
  padding:10px 11px;
  border-radius:10px;
  background:#253649;
  color:#c9d5df;
  font-size:11px;
  line-height:1.45;
}

.consume-preview-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}

@media(max-width:1050px){
  .grid4{
    grid-template-columns:repeat(2,1fr);
  }

  .dashboard-grid{
    grid-template-columns:1fr;
  }

  .products{
    grid-template-columns:1fr;
  }
}

@media(max-width:820px){
  .app{
    grid-template-columns:1fr;
  }

  .side{
    display:none;
  }

  .form-grid,
  .seal-duo{
    grid-template-columns:1fr;
  }

  .seal-side+.seal-side{
    border-left:0;
    border-top:3px solid #aeb5bc;
  }

  .topbar{
    padding:0 16px;
  }

  .content{
    padding:18px;
  }

  .topbar .account-pill{
    display:none;
  }
}

@media(max-width:560px){
  .grid4,
  .row2,
  .row2-equal,
  .detail-grid,
  .counter-grid{
    grid-template-columns:1fr;
  }

  .hero{
    align-items:flex-start;
    flex-direction:column;
  }

  .product{
    grid-template-columns:72px 1fr;
  }

  .product-media{
    width:72px;
  }

  .product-image{
    width:72px;
    height:72px;
  }

  .product-firma-logo{
    min-height:26px;
    padding:3px 4px;
  }

  .product-firma-logo img{
    max-width:64px;
    max-height:22px;
  }

  .pub-cover{
    height:230px;
  }

  .topbar .btn span.btn-text{
    display:none;
  }
}

/* SEALMETER PUBLIC QR REDESIGN */

.public{
  max-width:980px;
  margin:28px auto;
  padding:0 18px 44px;
}

.pub-card{
  background:#fffdf8;
  border:1px solid var(--border);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(50,42,32,.09);
}

.pub-public-brand{
  min-height:86px;
  padding:18px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-bottom:1px solid var(--border);
  background:#fffdf8;
}

.pub-seal-logo{
  display:block;
  width:190px;
  max-width:58%;
  height:54px;
  object-fit:contain;
  object-position:left center;
}

.pub-public-brand>span{
  padding:7px 11px;
  border-radius:999px;
  background:var(--accentSoft);
  color:var(--accent);
  font-size:12px;
  font-weight:850;
  white-space:nowrap;
}

.pub-product-head{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:28px;
  padding:26px 26px 8px;
  align-items:start;
}

.pub-product-media{
  min-width:0;
}

.pub-product-media .pub-cover{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  object-fit:contain;
  border-radius:22px;
  border:1px solid #e8dfd2;
  background:#f5f3ee;
  padding:8px;
}

.pub-firma-box{
  margin-top:11px;
  min-height:58px;
  padding:8px 10px;
  display:flex;
  align-items:center;
  gap:11px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
}

.pub-firma-logo{
  display:block;
  width:88px;
  height:46px;
  flex:0 0 88px;
  object-fit:contain;
  object-position:center center;
  border-radius:8px;
  background:#fff;
}

.pub-firma-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.pub-firma-label{
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.pub-firma-copy strong{
  color:var(--text);
  font-size:13px;
  line-height:1.3;
  overflow-wrap:anywhere;
}

.pub-summary{
  min-width:0;
  padding-top:4px;
}

.pub-category{
  display:inline-flex;
  width:auto;
  padding:6px 9px;
  border-radius:999px;
  background:#f0eee8;
  color:#5e665f;
  letter-spacing:.04em;
}

.pub-summary h1{
  margin:12px 0 5px;
  font-size:36px;
  line-height:1.08;
  letter-spacing:-.025em;
  color:var(--text);
}

.pub-brand-name{
  margin-top:4px;
  color:#385144;
  font-size:15px;
  font-weight:800;
}

.pub-lot{
  margin-top:13px;
  color:#606a63;
  font-size:13px;
}

.pub-warning-area{
  margin-top:16px;
}

.pub-body{
  padding:20px 26px 26px;
}

.seal-duo{
  margin-top:8px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  background:transparent;
  border-radius:0;
  overflow:visible;
  color:#fff;
}

.seal-side{
  min-width:0;
  padding:20px;
  border-radius:22px;
  background:var(--navy);
  box-shadow:0 12px 28px rgba(21,34,48,.12);
}

.seal-side+.seal-side{
  border-left:0;
}

.seal-title{
  margin:0 0 13px;
  font-size:22px;
  line-height:1.1;
  text-align:left;
  font-weight:900;
}

.seal-tags{
  gap:8px;
}

.counter-grid{
  margin-top:12px;
}

.small-dates{
  margin-top:12px;
}

.public-hidden-legacy{
  display:none !important;
}

@media(max-width:760px){

  .public{
    margin:14px auto;
    padding:0 12px 28px;
  }

  .pub-card{
    border-radius:22px;
  }

  .pub-public-brand{
    min-height:72px;
    padding:13px 16px;
  }

  .pub-seal-logo{
    width:158px;
    height:46px;
  }

  .pub-product-head{
    grid-template-columns:1fr;
    gap:17px;
    padding:18px 16px 4px;
  }

  .pub-product-media{
    max-width:360px;
    width:100%;
    margin:0 auto;
  }

  .pub-product-media .pub-cover{
    border-radius:18px;
  }

  .pub-firma-box{
    margin-top:9px;
  }

  .pub-summary{
    padding-top:0;
  }

  .pub-summary h1{
    font-size:30px;
  }

  .pub-body{
    padding:16px;
  }

  .seal-duo{
    grid-template-columns:1fr;
    gap:12px;
  }

  .seal-side{
    padding:18px;
    border-radius:19px;
  }

  .seal-title{
    font-size:21px;
  }
}


/* SEALMETER FINAL PRODUCT IMAGE FIT */

/* Ürün Ekle / Güncelle büyük görsel alanı */
.image-drop{
  height:250px;
  min-height:250px;
  overflow:hidden;
  position:relative;
}

.image-drop > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  display:block;
  object-fit:cover !important;
  object-position:center center !important;
}

/* Ürünlerim kartındaki ürün fotoğrafı */
.product-image{
  width:100%;
  height:100px;
  display:block;
  margin:0;
  padding:0;
  object-fit:cover !important;
  object-position:center center !important;
}

/* QR / Görüntüle tüketici sayfası */
.pub-product-media .pub-cover{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  margin:0;
  padding:0 !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* Firma logoları kesinlikle kırpılmaz */
.product-firma-logo img,
.pub-firma-logo,
#firmaLogoPreview{
  object-fit:contain !important;
}

/* SEALMETER FIRMA LOGO ACTIONS */
.firma-logo-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:12px;
}

.firma-logo-actions .upload-btn{
  margin-top:0;
  min-height:42px;
  box-sizing:border-box;
}

#firmaLogoPreview{
  padding:28px !important;
  background:#fff !important;
}

/* SEALMETER PRODUCT FORM SQUARE IMAGE */

.image-drop{
  width:100%;
  max-width:420px;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:1 / 1;
  margin:0 auto;
  overflow:hidden;
  position:relative;
  border-radius:18px;
  background:#fffdf8;
}

.image-drop > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  display:block;
  object-fit:contain !important;
  object-position:center center !important;
}

/* SEALMETER PANEL FINAL CLEANUP */

/* Marka alanı */
.brand{
  gap:8px;
  min-height:74px;
  padding:4px 8px 6px;
}

.brand-logo-img{
  width:178px;
  max-width:100%;
  height:auto;
}

.brand-caption{
  padding-left:4px;
  color:#4f4337;
  font-size:14px;
  line-height:1.25;
  font-weight:850;
  letter-spacing:.01em;
}

/* Sol menü */
.nav{
  gap:7px;
}

.nav button{
  color:#51463b;
  padding:13px 14px;
  font-size:14px;
  font-weight:800;
}

.nav button:hover,
.nav button.active{
  color:#302921;
}

/* Ana aksiyon en altta daha net ayrılsın */
.nav .nav-add{
  margin-top:12px;
  background:var(--accentSoft);
  color:var(--accent);
  font-weight:850;
}

/* Fazladan ürün ekleme butonları görünmesin.
   DOM'da kalırlar; mevcut JS bozulmaz. */
#topAdd,
#addFromList{
  display:none !important;
}

/* Topbar zaten sayfa adını gösteriyor.
   İçerikte tekrarlanan başlığı gizle, açıklamayı koru. */
#productsView .hero h2,
#archiveView .hero h2,
#firmaView .hero h2{
  display:none;
}

#productsView .hero p,
#archiveView .hero p,
#firmaView .hero p{
  margin-top:0;
  color:#555f58;
  font-weight:600;
  line-height:1.55;
}

/* Genel okunabilirlik */
.side-note{
  color:#625548;
  line-height:1.55;
}

/* SEALMETER PRODUCT CARD FINAL */

/* SEALMETER PRODUCT CARD COMPANY V2 */

.product-firma-logo{
  width:100%;
  min-height:50px;
  padding:7px 2px 0;
  box-sizing:border-box;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.product-firma-logo img{
  display:block;
  width:96px;
  height:46px;
  max-width:96px;
  max-height:46px;
  object-fit:contain !important;
  object-position:center center;
  transform:scale(1.48);
  transform-origin:center center;
}

.product-firma-name{
  color:#4f5b53;
  font-weight:800;
}

.product-action-manage{
  gap:8px;
}

/* Sol marka ayrımı */
.brand{
  border-bottom:1px solid #d8c9b7;
  padding-bottom:16px;
  margin-bottom:13px;
}

/* Yeni ürün ana aksiyon */
.nav .nav-add{
  margin-top:13px;
  background:var(--accent);
  color:#fff;
  box-shadow:0 8px 20px rgba(30,107,75,.14);
}

.nav .nav-add:hover,
.nav .nav-add.active{
  background:#185b40;
  color:#fff;
  box-shadow:0 8px 20px rgba(30,107,75,.18);
}

/* Ürün kartı içerik düzeni */
.product-content{
  min-width:0;
}

.product-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.product-title-row h3{
  margin:0 0 7px;
}

.product-meta-line{
  display:flex;
  flex-wrap:wrap;
  gap:7px 14px;
  color:#657068;
  font-size:12px;
  font-weight:650;
}

.product-date-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.product-date-box{
  padding:11px 13px;
  border:1px solid #e2d8ca;
  border-radius:13px;
  background:#faf7f1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.product-date-label{
  color:#6b706c;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.035em;
}

.product-date-box strong{
  color:#28362e;
  font-size:14px;
  font-weight:900;
}

.product-expiry-date.stt{
  background:#fff1f0;
  border-color:#efc0bb;
}

.product-expiry-date.stt .product-date-label,
.product-expiry-date.stt strong{
  color:#a83830;
}

.product-expiry-date.tett{
  background:#fff8e8;
  border-color:#ead39d;
}

.product-expiry-date.tett .product-date-label,
.product-expiry-date.tett strong{
  color:#7d5d13;
}

/* Buton grupları */
.product-action-groups{
  margin-top:14px;
}

.product-action-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}

.product-action-row + .product-action-row{
  margin-top:8px;
}

.product-action-separator{
  height:1px;
  margin:11px 0 10px;
  background:#e7ddd0;
}

.product-action-manage{
  justify-content:flex-start;
}

.product-action-manage .btn{
  opacity:.92;
}

.product-producer-note{
  margin-top:12px;
  padding:12px 14px;
  border:1px solid #e2d8ca;
  border-radius:13px;
  background:#faf7f1;
  color:#344255;
  font-size:12px;
  line-height:1.5;
}
.product-producer-note p{ margin:5px 0 0; overflow-wrap:anywhere; }

.load-more-row{
  display:flex;
  justify-content:center;
  margin-top:16px;
}

.batch-panel{
  margin-top:14px;
  padding:14px;
  border:1px solid #e7ddd0;
  border-radius:14px;
  background:#fffdf8;
}

.batch-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-top:1px solid #eee5da;
}

.batch-row small{
  display:block;
  margin-top:4px;
  color:#6b706c;
}

@media(max-width:760px){

  .product-title-row{
    flex-direction:column;
  }

  .product-date-grid{
    grid-template-columns:1fr;
  }

  .product-action-row .btn{
    flex:1 1 auto;
    justify-content:center;
  }

  .batch-row{
    align-items:stretch;
    flex-direction:column;
  }
}

/* SEALMETER DASHBOARD NAVIGATION V1 */

.dashboard-stat-link{
  cursor:pointer;
  transition:
    transform .16s ease,
    box-shadow .16s ease,
    border-color .16s ease;
}

.dashboard-stat-link:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(47,57,49,.10);
  border-color:#cdbfae;
}

.dashboard-stat-link:focus-visible{
  outline:3px solid rgba(30,107,75,.20);
  outline-offset:3px;
}

.dashboard-warning-link{
  cursor:pointer;
  transition:
    transform .15s ease,
    box-shadow .15s ease;
}

.dashboard-warning-link:hover{
  transform:translateX(3px);
  box-shadow:0 7px 18px rgba(47,57,49,.08);
}

.dashboard-warning-link:focus-visible{
  outline:3px solid rgba(30,107,75,.18);
  outline-offset:2px;
}

.dashboard-focus-product{
  animation:
    sealmeterProductFocus 2.4s ease;
}

@keyframes sealmeterProductFocus{

  0%,
  100%{
    box-shadow:
      inherit;
  }

  15%,
  70%{
    box-shadow:
      0 0 0 4px rgba(30,107,75,.20),
      0 18px 42px rgba(30,107,75,.13);
  }
}

/* SEALMETER WEB NOTIFICATION CENTER V1 */

.notification-wrap{
  position:relative;
  flex:0 0 auto;
}

.notification-button{
  position:relative;
  width:42px;
  height:42px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #ded5c9;
  border-radius:12px;
  background:#fffdf8;
  color:#39483f;
  cursor:pointer;
  transition:
    background .16s ease,
    border-color .16s ease,
    transform .16s ease;
}

.notification-button:hover{
  background:#f4f1eb;
  border-color:#cfc2b2;
  transform:translateY(-1px);
}

.notification-button svg{
  width:19px;
  height:19px;
}

.notification-badge{
  position:absolute;
  top:-6px;
  right:-6px;
  min-width:19px;
  height:19px;
  padding:0 5px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid #fffdf8;
  border-radius:999px;
  background:#d84b43;
  color:#fff;
  font-size:10px;
  font-weight:900;
  line-height:1;
}

.notification-panel{
  position:absolute;
  z-index:1500;
  top:calc(100% + 11px);
  right:0;
  width:min(430px,calc(100vw - 28px));
  max-height:560px;
  display:none;
  overflow:hidden;
  border:1px solid #ddd3c6;
  border-radius:18px;
  background:#fffdf8;
  box-shadow:
    0 22px 58px rgba(46,40,33,.18);
}

.notification-panel.open{
  display:block;
}

.notification-header{
  min-height:68px;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  border-bottom:1px solid #e7ded2;
  background:#faf7f1;
}

.notification-header>div{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.notification-header strong{
  color:#26362d;
  font-size:15px;
  font-weight:900;
}

.notification-header small{
  color:#757c76;
  font-size:11px;
}

.notification-header-icon{
  color:#326d52;
}

.notification-list{
  max-height:475px;
  overflow-y:auto;
  padding:9px;
}

.notification-item{
  position:relative;
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto;
  gap:10px;
  align-items:start;
  padding:12px;
  border:1px solid transparent;
  border-radius:13px;
}

.notification-item + .notification-item{
  margin-top:7px;
}

.notification-item.unread::before{
  content:'';
  position:absolute;
  top:10px;
  left:5px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#267453;
}

.notification-item.red{
  background:#fff2f1;
  border-color:#f0c8c4;
}

.notification-item.amber{
  background:#fff8e7;
  border-color:#ecd9a8;
}

.notification-item.green{
  background:#edf7f0;
  border-color:#c9e4d1;
}

.notification-level-icon{
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:rgba(255,255,255,.70);
}

.notification-level-icon svg{
  width:16px;
  height:16px;
}

.notification-copy{
  min-width:0;
}

.notification-item-head{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
}

.notification-item-head strong{
  color:#25352d;
  font-size:13px;
  font-weight:900;
}

.notification-type{
  padding:3px 6px;
  border-radius:999px;
  background:#eeeae3;
  color:#595f5a;
  font-size:9px;
  font-weight:900;
}

.notification-type.stt{
  background:#f7d8d5;
  color:#9f332c;
}

.notification-type.tett{
  background:#faeabb;
  color:#72580e;
}

.notification-status{
  margin-top:4px;
  color:#33483c;
  font-size:11px;
  font-weight:850;
}

.notification-copy small{
  display:block;
  margin-top:4px;
  color:#69716b;
  font-size:10px;
  line-height:1.4;
}

.notification-date{
  margin-top:5px;
  color:#7a817b;
  font-size:9px;
  font-weight:750;
}

.notification-product-btn{
  white-space:nowrap;
  align-self:center;
}

.notification-empty{
  min-height:170px;
  padding:28px 20px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#68716a;
}

.notification-empty svg{
  width:28px;
  height:28px;
  margin-bottom:10px;
  color:#287252;
}

.notification-empty strong{
  color:#31463a;
  font-size:13px;
}

.notification-empty span{
  margin-top:5px;
  max-width:260px;
  font-size:11px;
  line-height:1.45;
}

@media(max-width:760px){

  .notification-panel{
    position:fixed;
    top:72px;
    right:12px;
    left:12px;
    width:auto;
    max-height:calc(100vh - 90px);
  }

  .notification-list{
    max-height:calc(100vh - 170px);
  }

  .notification-item{
    grid-template-columns:30px minmax(0,1fr);
  }

  .notification-product-btn{
    grid-column:2;
    justify-self:start;
  }
}

/* SEALMETER PUBLIC DATE CARDS V1 */

.pub-date-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}

.pub-date-card{
  min-height:74px;
  padding:12px 14px;
  border:1px solid #e0d6c9;
  border-radius:14px;
  background:#faf7f1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.pub-date-card.production{
  background:#f4f7f4;
  border-color:#d5dfd7;
}

.pub-date-card.expiry.tett{
  background:#fff7df;
  border-color:#ecd28c;
}

.pub-date-card.expiry.stt{
  background:#fff0ef;
  border-color:#edb7b2;
}

.pub-date-kicker{
  color:#69716b;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.055em;
}

.pub-date-card strong{
  color:#22352a;
  font-size:18px;
  font-weight:950;
  white-space:nowrap;
}

.pub-date-card.expiry.tett .pub-date-kicker,
.pub-date-card.expiry.tett strong{
  color:#76580e;
}

.pub-date-card.expiry.stt .pub-date-kicker,
.pub-date-card.expiry.stt strong{
  color:#a23731;
}

.pub-expiry-heading{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.pub-expiry-heading small{
  color:#737a74;
  font-size:9px;
  font-weight:650;
  line-height:1.25;
}

.pub-date-card.expiry.tett .pub-expiry-heading small{
  color:#8b722f;
}

.pub-date-card.expiry.stt .pub-expiry-heading small{
  color:#a96a65;
}

/* Eski mini tarih alani artik kullanilmiyor */
.small-dates{
  display:none !important;
}

@media(max-width:760px){

  .pub-date-grid{
    grid-template-columns:1fr;
  }

  .pub-date-card{
    min-height:68px;
  }

  .pub-date-card strong{
    font-size:17px;
  }
}

/* SEALMETER REPORT CENTER SHELL V1 */

.report-hero{
  margin-bottom:16px;
}

.report-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:16px;
}

.report-stat-card{
  min-height:105px;
  padding:16px;
  display:flex;
  align-items:center;
  gap:14px;
  border:1px solid #e2d8ca;
  border-radius:17px;
  background:#fffdf8;
  box-shadow:0 8px 22px rgba(50,42,32,.045);
}

.report-stat-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#f0ede6;
  color:#526158;
}

.report-stat-icon svg{
  width:20px;
  height:20px;
}

.report-stat-card small{
  display:block;
  color:#747b75;
  font-size:11px;
  font-weight:700;
}

.report-stat-card strong{
  display:block;
  margin-top:5px;
  color:#203128;
  font-size:28px;
  line-height:1;
}

.report-stat-critical{
  background:#fff9e9;
  border-color:#ead79e;
}

.report-stat-critical .report-stat-icon{
  background:#f7e8bb;
  color:#815f10;
}

.report-shell-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.report-wide-panel{
  margin-top:16px;
}

.report-placeholder{
  min-height:110px;
  margin-top:14px;
  padding:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed #d9cfc1;
  border-radius:13px;
  background:#faf7f1;
  color:#737b75;
  text-align:center;
  font-size:12px;
}

@media(max-width:900px){

  .report-stat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .report-shell-grid{
    grid-template-columns:1fr;
  }
}

/* SEALMETER REPORT DATA V1 */

.report-distribution{
  margin-top:14px;
}

.report-dist-row + .report-dist-row{
  margin-top:14px;
}

.report-dist-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#3f4d44;
  font-size:11px;
  font-weight:800;
}

.report-dist-track{
  height:9px;
  margin-top:7px;
  overflow:hidden;
  border-radius:999px;
  background:#e2e0da;
}

.report-dist-fill{
  height:100%;
  border-radius:999px;
  background:#547865;
}

.report-dist-row.stt .report-dist-fill{
  background:#d85149;
}

.report-dist-row.tett .report-dist-fill{
  background:#d8aa2d;
}

.report-dist-row small{
  display:block;
  margin-top:4px;
  color:#7a817b;
  font-size:9px;
  text-align:right;
}

#reportDateDistribution,
#reportCategoryDistribution{
  min-height:110px;
  margin-top:14px;
}

#reportDateDistribution.report-placeholder,
#reportCategoryDistribution.report-placeholder{
  border:0;
  padding:0;
  background:transparent;
}

.report-critical-list{
  min-height:80px;
  margin-top:14px;
  display:grid;
  gap:7px;
}

.report-critical-item{
  width:100%;
  padding:11px 13px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  border:1px solid transparent;
  border-radius:12px;
  font-family:inherit;
  text-align:left;
  cursor:pointer;
  transition:
    transform .15s ease,
    box-shadow .15s ease;
}

.report-critical-item:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(40,35,30,.07);
}

.report-critical-item.red{
  background:#fff1f0;
  border-color:#edc5c1;
}

.report-critical-item.amber{
  background:#fff8e6;
  border-color:#ead7a4;
}

.report-critical-item.green{
  background:#edf7f0;
  border-color:#cde3d3;
}

.report-critical-icon{
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:rgba(255,255,255,.72);
}

.report-critical-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.report-critical-copy strong{
  color:#293930;
  font-size:12px;
}

.report-critical-copy small{
  color:#6c746e;
  font-size:10px;
}

.report-critical-go{
  color:#476557;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}

.report-empty{
  min-height:100px;
  padding:22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px dashed #d8d0c5;
  border-radius:12px;
  background:#faf8f4;
  color:#737b75;
  text-align:center;
  font-size:11px;
}

.report-empty-success{
  background:#f1f8f3;
  border-color:#cee3d4;
}

.report-empty-success svg{
  width:23px;
  height:23px;
  margin-bottom:8px;
  color:#327556;
}

.report-empty-success strong{
  color:#345440;
  font-size:12px;
}

.report-empty-success span{
  margin-top:4px;
}

#reportTableArea{
  min-height:80px;
  margin-top:14px;
  padding:0;
  border:0;
  background:transparent;
}

.report-table-wrap{
  width:100%;
  overflow:auto;
  border:1px solid #e3dbd0;
  border-radius:12px;
}

.report-table{
  width:100%;
  min-width:900px;
  border-collapse:collapse;
  background:#fffdf9;
}

.report-table th{
  padding:10px 9px;
  background:#344255;
  color:#fff;
  font-size:9px;
  font-weight:850;
  text-align:left;
  white-space:nowrap;
}

.report-table td{
  padding:11px 9px;
  border-bottom:1px solid #ebe4da;
  color:#58635c;
  font-size:10px;
  vertical-align:middle;
}

.report-table tbody tr:last-child td{
  border-bottom:0;
}

.report-table tbody tr:hover{
  background:#faf7f1;
}

.report-table td strong{
  color:#293a30;
}

.report-status-chip,
.report-date-chip{
  display:inline-flex;
  align-items:center;
  padding:4px 7px;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}

.report-status-chip.active{
  background:#e4f3e8;
  color:#27714f;
}

.report-status-chip.archived{
  background:#eeeae4;
  color:#716b63;
}

.report-date-chip.stt{
  background:#f7d9d6;
  color:#a13630;
}

.report-date-chip.tett{
  background:#faeabe;
  color:#765b11;
}

.report-qr-yes{
  display:inline-flex;
  align-items:center;
  gap:4px;
  color:#28714f;
  font-weight:850;
}

.report-qr-yes svg{
  width:13px;
  height:13px;
}

@media(max-width:700px){

  .report-critical-item{
    grid-template-columns:32px minmax(0,1fr);
  }

  .report-critical-go{
    grid-column:2;
  }
}

/* SEALMETER REPORT ALIGNMENT FIX V1 */

#reportDateDistribution.report-placeholder,
#reportCategoryDistribution.report-placeholder{
  display:block !important;
  align-items:initial !important;
  justify-content:initial !important;
  text-align:left !important;
  width:100%;
}

#reportDateDistribution .report-dist-row,
#reportCategoryDistribution .report-dist-row{
  display:block;
  width:100%;
}

.report-dist-head{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
}

.report-dist-head span{
  min-width:0;
  text-align:left;
}

.report-dist-head strong{
  min-width:28px;
  text-align:right;
}

.report-dist-track{
  width:100%;
}

.report-dist-row small{
  width:100%;
  text-align:right;
}

/* SEALMETER REPORT TABLE ALIGNMENT V1 */

.report-table{
  width:100%;
  min-width:900px;
  table-layout:fixed;
}

.report-table th,
.report-table td{
  padding:11px 12px;
  vertical-align:middle;
}

/* Kolon genişlikleri */
.report-table th:nth-child(1),
.report-table td:nth-child(1){
  width:13%;
}

.report-table th:nth-child(2),
.report-table td:nth-child(2){
  width:15%;
}

.report-table th:nth-child(3),
.report-table td:nth-child(3){
  width:14%;
}

.report-table th:nth-child(4),
.report-table td:nth-child(4){
  width:10%;
}

.report-table th:nth-child(5),
.report-table td:nth-child(5){
  width:11%;
}

.report-table th:nth-child(6),
.report-table td:nth-child(6){
  width:12%;
}

.report-table th:nth-child(7),
.report-table td:nth-child(7){
  width:10%;
}

.report-table th:nth-child(8),
.report-table td:nth-child(8){
  width:7%;
}

.report-table th:nth-child(9),
.report-table td:nth-child(9){
  width:8%;
}

/* Metinsel alanlar solda */
.report-table th:nth-child(-n+3),
.report-table td:nth-child(-n+3){
  text-align:left;
}

/* Durumdan itibaren tam merkez */
.report-table th:nth-child(n+4),
.report-table td:nth-child(n+4){
  text-align:center;
}

.report-table td:nth-child(4) .report-status-chip,
.report-table td:nth-child(5) .report-date-chip,
.report-table td:nth-child(8) .report-qr-yes{
  justify-content:center;
}

.report-table td:nth-child(9) .report-product-btn{
  margin-left:auto;
  margin-right:auto;
}

.report-table th{
  white-space:nowrap;
}

.report-table td{
  overflow:hidden;
  text-overflow:ellipsis;
}

/* SEALMETER DASHBOARD PANEL LINKS V1 */

.dashboard-panel-link{
  cursor:pointer;
  border-radius:10px;
  transition:
    background .16s ease,
    transform .16s ease;
}

.dashboard-panel-link:hover{
  background:rgba(45,108,78,.055);
}

.dashboard-panel-link:focus-visible{
  outline:2px solid rgba(45,108,78,.30);
  outline-offset:3px;
}

.dashboard-category-link{
  cursor:pointer;
  transition:
    transform .15s ease,
    box-shadow .15s ease;
}

.dashboard-category-link:hover{
  transform:translateY(-1px);
  box-shadow:
    0 6px 15px rgba(45,39,31,.07);
}

.dashboard-category-link:focus-visible{
  outline:2px solid rgba(45,108,78,.30);
  outline-offset:2px;
}

.dashboard-target-focus{
  animation:
    dashboardTargetFocus 2.2s ease;
}

@keyframes dashboardTargetFocus{

  0%{
    box-shadow:
      0 0 0 0 rgba(45,108,78,.30);
  }

  35%{
    box-shadow:
      0 0 0 5px rgba(45,108,78,.14);
  }

  100%{
    box-shadow:
      0 0 0 0 rgba(45,108,78,0);
  }
}

/* SEALMETER REPORT EXPORT FILTER V1 */

.report-control-panel{
  margin-bottom:16px;
  padding:16px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
}

.report-control-left{
  min-width:0;
  display:flex;
  align-items:flex-end;
  gap:18px;
}

.report-control-title{
  min-width:190px;
  padding-bottom:4px;
}

.report-control-title strong{
  display:block;
  color:#2e4035;
  font-size:13px;
}

.report-control-title small{
  display:block;
  margin-top:4px;
  color:#747b75;
  font-size:10px;
  line-height:1.35;
}

.report-date-controls{
  display:flex;
  gap:10px;
}

.report-date-controls .field{
  min-width:155px;
}

.report-date-controls label{
  font-size:10px;
}

.report-date-controls input{
  min-height:40px;
}

.report-control-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:7px;
}

.report-control-actions .btn{
  white-space:nowrap;
}

@media(max-width:1100px){

  .report-control-panel{
    align-items:stretch;
    flex-direction:column;
  }

  .report-control-left{
    align-items:flex-end;
  }

  .report-control-actions{
    justify-content:flex-start;
  }
}

@media(max-width:700px){

  .report-control-left{
    align-items:stretch;
    flex-direction:column;
  }

  .report-date-controls{
    display:grid;
    grid-template-columns:1fr;
  }

  .report-date-controls .field{
    min-width:0;
  }

  .report-control-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .report-control-actions .btn{
    justify-content:center;
  }
}

/* SEALMETER REPORT HIERARCHY FILTER V2 */

.report-control-panel{
  margin-bottom:16px;
  padding:18px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "title actions"
    "filters filters";
  align-items:center;
  gap:16px 20px;
  background:#fffdf8;
}

.report-control-left{
  display:contents;
}

.report-control-title{
  grid-area:title;
  min-width:0;
  padding:0;
}

.report-control-title strong{
  display:block;
  color:var(--text);
  font-size:15px;
  font-weight:800;
  letter-spacing:-.15px;
}

.report-control-title small{
  display:block;
  max-width:460px;
  margin-top:5px;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}

.report-filter-grid{
  grid-area:filters;
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  align-items:end;
}

.report-filter-grid .field{
  min-width:0;
  margin:0;
}

.report-filter-grid label{
  display:block;
  margin:0 0 7px;
  color:#3d4942;
  font-size:11px;
  font-weight:800;
  line-height:1.2;
}

.report-filter-grid select,
.report-filter-grid input{
  width:100%;
  min-width:0;
  height:43px;
  min-height:43px;
  box-sizing:border-box;
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px 13px;
  background:#fffdf8;
  color:var(--text);
  font-size:13px;
  font-weight:600;
  outline:none;
  box-shadow:
    0 1px 2px rgba(45,39,31,.025);
  transition:
    border-color .15s ease,
    box-shadow .15s ease,
    background .15s ease;
}

.report-filter-grid select{
  appearance:none;
  -webkit-appearance:none;
  padding-right:38px;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2357645c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 11px center;
  background-size:17px 17px;
}

.report-filter-grid input[type="date"]{
  padding-right:11px;
}

.report-filter-grid input[type="date"]::-webkit-calendar-picker-indicator{
  cursor:pointer;
  opacity:.68;
}

.report-filter-grid select:hover,
.report-filter-grid input:hover{
  border-color:#d8c8b4;
  background:#fffefa;
}

.report-filter-grid select:focus,
.report-filter-grid input:focus{
  border-color:#8bb7a3;
  background:#fffefa;
  box-shadow:0 0 0 3px #e8f4ee;
}

.report-control-actions{
  grid-area:actions;
  width:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}

.report-control-actions .btn{
  min-height:41px;
  padding:9px 13px;
  border-radius:11px;
  white-space:nowrap;
  font-size:13px;
  font-weight:780;
}

.report-control-actions .btn svg{
  width:16px;
  height:16px;
}

.report-control-actions .btn-primary{
  box-shadow:
    0 5px 12px rgba(30,107,75,.12);
}

.report-control-actions .btn-ghost{
  background:#fffdf8;
}

@media(max-width:1180px){

  .report-filter-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:820px){

  .report-control-panel{
    grid-template-columns:1fr;
    grid-template-areas:
      "title"
      "filters"
      "actions";
    align-items:stretch;
  }

  .report-control-actions{
    justify-content:flex-start;
  }

  .report-filter-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:560px){

  .report-control-panel{
    padding:14px;
  }

  .report-filter-grid{
    grid-template-columns:1fr;
  }

  .report-control-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .report-control-actions .btn{
    width:100%;
    justify-content:center;
  }
}

/* SEALMETER PRODUCT FORM FLOW V3 */

.product-form-v3{
  padding:22px;
}

.product-form-flow{
  width:100%;
  max-width:980px;
  margin:0 auto;
  display:grid;
  gap:18px;
}

.product-form-section{
  padding:20px;
  border:1px solid #eadfce;
  border-radius:18px;
  background:#fffdf9;
}

.product-form-section-head{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:18px;
}

.product-form-step{
  width:32px;
  height:32px;
  flex:0 0 32px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#e9f3ee;
  color:#176b4b;
  font-size:13px;
  font-weight:900;
}

.product-form-section-title{
  margin:0;
  font-size:16px;
  font-weight:900;
  color:#1f2923;
}

.product-form-section-copy{
  margin:4px 0 0;
  color:#6e766f;
  font-size:12px;
  line-height:1.5;
}

.product-classification-stack{
  width:100%;
  max-width:760px;
  display:grid;
  gap:14px;
}

.product-form-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.product-form-media{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:20px;
  align-items:start;
}

.product-form-v3 .preview-area{
  margin-top:0;
}

.product-form-v3 .image-drop{
  width:100%;
  max-width:none;
  margin:0;
}

.product-form-v3 .form-actions{
  margin-top:0;
  padding-top:2px;
}

.classification-note{
  margin-top:14px;
  padding:11px 13px;
  border:1px solid #e8dfd2;
  border-radius:12px;
  background:#f8f4ed;
  color:#69716b;
  font-size:11px;
  line-height:1.5;
}

.classification-path{
  margin-top:14px;
  padding:11px 13px;
  border-radius:12px;
  background:#edf6f1;
  color:#176b4b;
  font-size:12px;
  font-weight:800;
}

@media(max-width:760px){

  .product-form-v3{
    padding:14px;
  }

  .product-form-section{
    padding:16px;
  }

  .product-form-two,
  .product-form-media{
    grid-template-columns:1fr;
  }
}

.pub-mobile-cta{
    max-width:1180px;
    margin:16px auto 0;
    padding:14px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:10px;
    border-radius:20px;
    background:#F6EFE3;
    border:1px solid rgba(21,34,50,.12);
    box-shadow:0 12px 28px rgba(21,34,50,.08);
  }
  .pub-mobile-cta .seal-app-action{
    min-height:54px;
    border:0;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:10px 16px;
    font:800 14px/1.1 inherit;
    text-decoration:none;
    cursor:pointer;
  }
  .pub-mobile-cta .seal-app-action.primary{
    background:#152232;
    color:#fff;
  }
  .pub-mobile-cta .seal-app-action.secondary{
    background:#fff;
    color:#152232;
    border:1px solid rgba(21,34,50,.12);
  }
  .pub-mobile-cta .seal-app-action img{
    width:92px;
    max-height:28px;
    object-fit:contain;
  }
  @media(max-width:640px){
    .pub-mobile-cta{
      grid-template-columns:1fr;
      margin:12px 10px 0;
    }
  }

/* ==========================================================
   SEALMETER FINAL WEB POLISH
   ========================================================== */

/* Tüm logo görselleri kırpılmadan görünür */
.brand-logo-img,
.account-firma-logo,
.product-firma-logo img,
.pub-firma-logo,
#firmaLogoPreview,
.pub-seal-logo,
#pubCtaLogo,
.sealmeter-logo,
.company-logo {
  object-fit: contain !important;
  object-position: center !important;
}

/* Üst bar SealMeter logosu */
.brand-logo-img {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  display: block !important;
  margin: 0 !important;
}

/* Firma logo alanları */
.product-firma-logo {
  min-height: 56px !important;
  padding: 5px !important;
  margin-bottom: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}

.product-firma-logo img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 50px !important;
}

/* Ürün görseli kırpılmaz */
.product-image {
  object-fit: contain !important;
  object-position: center !important;
}

/* Formu biraz daha ferah yap */
.product-form-section {
  margin-bottom: 20px !important;
}

.product-form-section-head {
  margin-bottom: 18px !important;
}

.product-form-two {
  gap: 16px !important;
}

.product-form-media {
  gap: 24px !important;
  align-items: flex-start !important;
}

.preview-area {
  gap: 16px !important;
}

/* Üretici notu */
#producerNote {
  width: 100%;
  min-height: 105px;
  resize: vertical;
  box-sizing: border-box;
  border: 1px solid #ddd3c5;
  border-radius: 12px;
  padding: 12px 14px;
  background: #fffdf8;
  color: #152232;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.5;
  outline: none;
}

#producerNote:focus {
  border-color: #5b9f3b;
  box-shadow: 0 0 0 3px rgba(91,159,59,.10);
}

.producer-note-counter {
  text-align: right;
  margin-top: 5px;
  font-size: 11px;
  color: #7a8490;
}

@media (max-width: 900px) {
  .product-form-media {
    grid-template-columns: 1fr !important;
  }

  .preview-area {
    width: 100% !important;
  }
}

/* YAN PANEL LOGOSU - BIRAZ DAHA BUYUK */
#brandLogo{
  width: 205px !important;
  height: auto !important;
  max-width: 205px !important;
  max-height: 72px !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
  margin: 8px auto 12px auto !important;
}

/* LOGONUN KENDISI */
#accountFirmaLogo{
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  max-width: 46px !important;
  max-height: 46px !important;

  object-fit: contain !important;
  object-position: center !important;

  display: none !important;
  flex: 0 0 46px !important;
  transform: none !important;

  margin: 0 !important;
  padding: 0 !important;

  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;

  overflow: visible !important;
}

#accountFirmaLogo[src]{
  display:block !important;
}

.scope-notice{
  margin:12px 0 16px;
}

.panel-spaced{
  margin-top:16px;
}

.field-spaced{
  margin-top:14px;
}

.empty-title{
  margin-top:8px;
  font-weight:800;
}

.empty-copy,
.modal-subtext{
  margin-top:4px;
  font-size:12px;
}

.form-textarea{
  width:100%;
  resize:vertical;
}

.optional-label{
  color:#7a8490;
  font-weight:500;
}

.preview-counter-note{
  color:#dce3e6;
  font-size:11px;
}

.public-back{
  margin-bottom:12px;
}

.modal-subtext{
  color:var(--muted);
}

.modal-state-text{
  margin-top:5px;
  font-size:12px;
  font-weight:800;
}
