/* Portal SSM — MDI (Moldan Dorin-Ioan PFA)
   Paletă/temă validată în machetă: hârtie caldă, accent verde-teal,
   Atkinson Hyperlegible (corp) + Fraunces (titluri). */

@font-face{
  font-family:"Share Tech Mono";
  font-style:normal; font-weight:400; font-display:swap;
  src:url("../fonts/share-tech-mono.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Atkinson Hyperlegible";
  font-style:normal; font-weight:400; font-display:swap;
  src:url("../fonts/atkinson-400-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:"Atkinson Hyperlegible";
  font-style:normal; font-weight:400; font-display:swap;
  src:url("../fonts/atkinson-400-lat.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Atkinson Hyperlegible";
  font-style:normal; font-weight:700; font-display:swap;
  src:url("../fonts/atkinson-700-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:"Atkinson Hyperlegible";
  font-style:normal; font-weight:700; font-display:swap;
  src:url("../fonts/atkinson-700-lat.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Fraunces Disp";
  font-style:normal; font-weight:600; font-display:swap;
  src:url("../fonts/fraunces-600-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:"Fraunces Disp";
  font-style:normal; font-weight:600; font-display:swap;
  src:url("../fonts/fraunces-600-lat.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Fraunces Disp";
  font-style:italic; font-weight:600; font-display:swap;
  src:url("../fonts/fraunces-italic-600-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:"Fraunces Disp";
  font-style:italic; font-weight:600; font-display:swap;
  src:url("../fonts/fraunces-italic-600-lat.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root{
  --paper:#f7f1e3;
  --paper-raised:#fffdf7;
  --ink:#2a241c;
  --muted:#7c7261;
  --line:#e4dbc5;
  --brand:#1f6e5c;
  --brand-strong:#14503f;
  --brand-tint:#e3ede7;
  --caution:#b5551f;
  --caution-bg:#f3e4d2;
  --focus:#1f6e5c;
}
@media (prefers-color-scheme:dark){
  :root{
    --paper:#1c1912; --paper-raised:#26221a; --ink:#efe7d6; --muted:#a79c87;
    --line:#3b3527; --brand:#4fa98a; --brand-strong:#7cc7ac; --brand-tint:#213028;
    --caution:#e08a4f; --caution-bg:#3a2a1c; --focus:#4fa98a;
  }
}
:root[data-theme="dark"]{
  --paper:#1c1912; --paper-raised:#26221a; --ink:#efe7d6; --muted:#a79c87;
  --line:#3b3527; --brand:#4fa98a; --brand-strong:#7cc7ac; --brand-tint:#213028;
  --caution:#e08a4f; --caution-bg:#3a2a1c; --focus:#4fa98a;
}
:root[data-theme="light"]{
  --paper:#f7f1e3; --paper-raised:#fffdf7; --ink:#2a241c; --muted:#7c7261;
  --line:#e4dbc5; --brand:#1f6e5c; --brand-strong:#14503f; --brand-tint:#e3ede7;
  --caution:#b5551f; --caution-bg:#f3e4d2; --focus:#1f6e5c;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Atkinson Hyperlegible",-apple-system,"Segoe UI",sans-serif;
  line-height:1.55;
}
a{color:var(--brand-strong); text-decoration:none;}
a:focus-visible, button:focus-visible, input:focus-visible{
  outline:2px solid var(--focus); outline-offset:2px;
}
h1,h2,h3{
  font-family:"Fraunces Disp",Georgia,serif;
  font-weight:600;
  line-height:1.18;
  text-wrap:balance;
  margin:0;
}
.wrap{max-width:1040px; margin:0 auto; padding-left:24px; padding-right:24px;}
.wrap-wide{max-width:1320px; margin:0 auto; padding-left:24px; padding-right:24px;}

/* Navbar */
.navbar{
  border-bottom:1px solid var(--line);
  background:var(--paper);
  position:sticky; top:0; z-index:30;
}
.navbar .wrap{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding-top:16px; padding-bottom:16px; flex-wrap:wrap;
}
.brand{display:flex; flex-direction:column; gap:2px; text-decoration:none; color:var(--ink); line-height:1.15;}
.brand-mark{
  font-family:"Fraunces Disp",Georgia,serif; font-weight:600;
  font-size:26px; letter-spacing:.01em;
}
.brand-tag{
  font-size:12px; color:var(--muted); letter-spacing:.04em;
}
.nav-right{display:flex; align-items:center; gap:14px; flex-wrap:wrap;}
.nav-links{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.nav-identity{
  display:inline-flex; align-items:center;
  background:var(--brand-tint); color:var(--brand-strong);
  font-size:13px; font-weight:700; padding:6px 14px; white-space:nowrap;
}
.nav-identity:hover{background:var(--brand); color:var(--paper-raised);}
.nav-identity-sub{font-weight:400; opacity:.85;}
.nav-logout{margin:0;}

.nav-dropdown{position:relative;}
.nav-dropdown-menu{
  display:none; flex-direction:column;
  position:absolute; top:calc(100% + 6px); left:0;
  background:var(--paper-raised); border:1px solid var(--line);
  min-width:190px; z-index:40;
}
.nav-dropdown-menu.is-open{display:flex;}
.nav-dropdown-menu a{
  padding:10px 14px; font-size:14px; color:var(--ink);
  border-bottom:1px solid var(--line);
}
.nav-dropdown-menu a:last-child{border-bottom:none;}
.nav-dropdown-menu a:hover{background:var(--brand-tint); color:var(--brand-strong);}

/* Hero */
.hero{padding:72px 0 56px; border-bottom:1px solid var(--line);}
.hero .eyebrow{
  font-size:12.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--brand-strong); margin-bottom:14px; display:block;
}
.hero h1{font-size:clamp(30px,4.6vw,44px); max-width:18ch; margin-bottom:18px;}
.hero p.lead{font-size:18px; color:var(--muted); max-width:56ch; margin:0 0 28px;}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap;}
.btn{
  font:inherit; font-size:15px; font-weight:700; text-decoration:none;
  padding:12px 22px; display:inline-block; border:1px solid transparent;
}
.btn-primary{background:var(--brand); color:var(--paper-raised); border-color:var(--brand);}
.btn-primary:hover{background:var(--brand-strong); border-color:var(--brand-strong);}
.btn-ghost{background:transparent; color:var(--ink); border-color:var(--line);}
.btn-ghost:hover{border-color:var(--brand);}
.btn-danger{background:var(--caution); color:var(--paper-raised); border-color:var(--caution); cursor:pointer;}
.btn-danger:hover{opacity:.9;}
.btn-sm{padding:6px 14px; font-size:13px;}
.btn.link-danger{border-color:var(--caution); color:var(--caution);}
.btn.link-danger:hover{background:var(--caution-bg); border-color:var(--caution);}
button.btn{cursor:pointer;}
.btn:disabled, .btn[disabled]{opacity:.45; cursor:not-allowed; color:var(--muted);}
.btn-ghost:disabled, .btn-ghost[disabled]{background:transparent; border-color:var(--line);}
.btn-ghost:disabled:hover, .btn-ghost[disabled]:hover{border-color:var(--line);}

.narrow-fix-note{display:block; margin-top:6px; font-size:12.5px; font-weight:700; color:var(--caution);}

/* Sections */
.section{padding:56px 0; border-bottom:1px solid var(--line);}
.section-head{max-width:60ch; margin-bottom:36px;}
.section-head .eyebrow{
  font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--brand-strong); display:block; margin-bottom:10px;
}
.section-head h2{font-size:26px; margin-bottom:10px;}
.section-head p{color:var(--muted); font-size:16px; margin:0; max-width:56ch;}

.steps{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:20px;}
.step-card{background:var(--paper-raised); border:1px solid var(--line); padding:22px 20px;}
.step-card .num{
  font-family:"Fraunces Disp",Georgia,serif; font-weight:600; font-size:15px;
  color:var(--brand-strong); display:block; margin-bottom:10px;
}
.step-card h3{font-size:17.5px; margin-bottom:8px;}
.step-card p{font-size:14.5px; color:var(--muted); margin:0;}

.trust{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:20px;
}
.trust-item{border-left:3px solid var(--brand); padding:4px 0 4px 16px;}
.trust-item h3{font-size:16px; margin-bottom:6px;}
.trust-item p{font-size:14.5px; color:var(--muted); margin:0;}

.cta-band{
  background:var(--brand-tint); padding:48px 0; text-align:center;
}
.cta-band h2{font-size:24px; margin-bottom:12px;}
.cta-band p{color:var(--muted); font-size:15.5px; margin:0 0 22px;}

/* Testimonials */
hr.divider{border:none; border-top:1px solid var(--line); margin:0;}
.testimonials{text-align:center;}
.stats-line{
  font-family:"Fraunces Disp",Georgia,serif; font-weight:600;
  font-size:15px; color:var(--brand-strong); margin:0 0 40px;
  font-variant-numeric:tabular-nums;
}
.carousel{position:relative; max-width:1100px; width:100%; margin:0 auto;}
.carousel-track{position:relative; min-height:140px;}
.carousel-slide{display:none; margin:0; padding:0 12px;}
.carousel-slide.is-active{display:block;}
.carousel-slide p{
  font-family:"Fraunces Disp",Georgia,serif; font-style:italic; font-size:20px; line-height:1.55;
  color:var(--ink); margin:0 0 16px; text-wrap:balance;
}
.carousel-slide cite{
  font-style:normal; font-size:13px; color:var(--muted);
  font-family:"Share Tech Mono",ui-monospace,monospace; letter-spacing:.02em;
}
.carousel-dots{display:flex; justify-content:center; gap:8px; margin-top:28px;}
.carousel-dot{
  width:8px; height:8px; border-radius:50%; border:none;
  background:var(--line); padding:0; cursor:pointer;
}
.carousel-dot.is-active{background:var(--brand);}

/* Footer */
footer.site{padding:40px 0 32px; font-size:13.5px; color:var(--muted);}
footer.site .foot-top{
  display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap;
  padding-bottom:20px; margin-bottom:18px; border-bottom:1px solid var(--line);
}
footer.site .foot-links{display:flex; gap:18px; flex-wrap:wrap;}
footer.site a{color:var(--muted);}
footer.site a:hover{color:var(--brand-strong);}
footer.site .foot-credit{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;}
.rhd-credit{
  font-family:"Share Tech Mono","SF Mono",ui-monospace,monospace;
  color:var(--ink); text-decoration:none; letter-spacing:.01em;
}
.rhd-credit:hover{color:var(--brand-strong);}
.rhd-credit .bracket{color:#cc0000;}

/* Simple content pages (PP/TC) */
.doc-page{padding:48px 0 80px;}
.doc-page h1{font-size:28px; margin-bottom:8px;}
.doc-page .updated{color:var(--muted); font-size:13.5px; margin-bottom:32px; display:block;}
.doc-page h2{font-size:18px; margin:32px 0 10px;}
.doc-page p, .doc-page li{font-size:15.5px; color:var(--ink); line-height:1.7; max-width:68ch;}
.doc-page ul{padding-left:20px;}
.doc-page .subtitle{
  font-family:"Fraunces Disp",Georgia,serif; font-weight:600;
  font-size:21px; line-height:1.4; color:var(--ink);
  max-width:46ch; margin:0 0 28px;
}

/* Staff tools: lists, forms */
.staff-page{padding:44px 0 80px;}
.staff-head{
  display:flex; justify-content:space-between; align-items:flex-end;
  gap:16px; flex-wrap:wrap; margin-bottom:28px;
}
.staff-head h1{font-size:26px;}
.staff-head p{color:var(--muted); font-size:14.5px; margin:6px 0 0;}

.table-wrap{overflow-x:auto; border:1px solid var(--line);}
table.data{width:100%; border-collapse:collapse; background:var(--paper-raised); font-size:14.5px;}
table.data th{
  text-align:left; font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--muted); padding:12px 16px; border-bottom:1px solid var(--line); white-space:nowrap;
}
table.data td{padding:12px 16px; border-bottom:1px solid var(--line); vertical-align:middle;}
table.data tr:last-child td{border-bottom:none;}
table.data .logo-cell img{height:28px; width:28px; object-fit:contain; background:var(--paper); border:1px solid var(--line);}
table.data .logo-cell .logo-placeholder{height:28px; width:28px; font-size:13px;}

.logo-placeholder{
  display:flex; align-items:center; justify-content:center;
  background:#5f574a;
  color:#fff;
  font-family:"Share Tech Mono","SF Mono",ui-monospace,monospace;
  font-weight:700; letter-spacing:.02em;
  border-radius:50%;
  box-shadow:0 2px 5px rgba(0,0,0,.18);
  flex-shrink:0;
}
/* Nu display:flex pe td — scoate celula din calculul normal de înălțime al
   rândului și rupe alinierea liniilor de separare cu rândurile vecine.
   Spațierea butoanelor se face prin margine pe fiecare buton, nu pe celulă. */
table.data .actions{white-space:nowrap;}
table.data .actions .btn{margin:0 8px 6px 0; vertical-align:middle;}
table.data .actions .btn:last-child{margin-right:0;}
.btn-toggle{min-width:112px; text-align:center;}
.btn.link-success{border-color:var(--brand); color:var(--brand-strong);}
.btn.link-success:hover{background:var(--brand-tint); border-color:var(--brand);}
.action-group{display:inline-flex; gap:8px; align-items:center; vertical-align:middle;}
.action-group + .action-group{margin-left:10px; padding-left:10px; border-left:1px solid var(--line);}
.btn-ghost.btn-accent{border-color:var(--brand); color:var(--brand-strong);}
.btn-ghost.btn-accent:hover{background:var(--brand-tint);}
.btn-ghost.btn-ssm{border-color:#1f5ea8; color:#1f5ea8;}
.btn-ghost.btn-ssm:hover{background:rgba(31,94,168,.1);}
.btn-ghost.btn-psi{border-color:#b3261e; color:#b3261e;}
.btn-ghost.btn-psi:hover{background:rgba(179,38,30,.1);}
.empty-state{padding:32px; text-align:center; color:var(--muted); font-size:15px;}

.extra-section{padding:16px 0; border-bottom:1px solid var(--line);}
.extra-section:last-child{border-bottom:none;}
.extra-section h3{font-size:16px; margin:0 0 6px;}
.extra-section .empty-state{padding:8px 0; text-align:left;}

.badge{
  display:inline-block; font-size:12px; font-weight:700; padding:3px 9px;
  letter-spacing:.02em;
}
.badge.on{background:var(--brand-tint); color:var(--brand-strong);}
.badge.off{background:var(--caution-bg); color:var(--caution);}
.badge.neutral{background:var(--line); color:var(--muted);}

.cell-sub{font-size:12.5px; color:var(--muted);}
.cell-snippet{color:var(--muted); max-width:280px;}

.box{border-left:3px solid var(--caution); background:var(--caution-bg); padding:14px 18px; margin:18px 0;}
.box .box-label{display:block; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--caution); margin-bottom:6px;}
.box p{margin:0; font-size:14.5px;}
.box.box-brand{border-left-color:var(--brand); background:var(--brand-tint);}
.box.box-brand .box-label{color:var(--brand-strong);}

.domain-accent{position:fixed; top:0; left:0; bottom:0; width:14px; z-index:50;}
.domain-accent-ssm{background:#1f5ea8;}
.domain-accent-psi{background:#b3261e;}

.domain-badge{
  position:fixed; top:24px; left:34px; z-index:51;
  font-family:"Share Tech Mono","SF Mono",ui-monospace,monospace;
  font-size:20px; font-weight:700; letter-spacing:.1em;
  color:#fff; padding:10px 20px;
  border-radius:3px;
  box-shadow:0 3px 10px rgba(0,0,0,.22);
}
.domain-badge-ssm{background:#1f5ea8;}
.domain-badge-psi{background:#b3261e;}

.tag-domain{
  display:inline-block;
  font-family:"Share Tech Mono","SF Mono",ui-monospace,monospace;
  font-size:11px; font-weight:700; letter-spacing:.06em;
  padding:3px 9px; border-radius:3px;
}
.tag-domain-ssm{background:#1f5ea8; color:#fff;}
.tag-domain-psi{background:#b3261e; color:#fff;}

.assign-row{display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:1140px;}
@media (max-width:760px){.assign-row{grid-template-columns:1fr;}}
.assign-row .detail-card{max-width:none;}
.detail-card.domain-box{border-top:8px solid;}
.detail-card.domain-box-ssm{border-top-color:#1f5ea8;}
.detail-card.domain-box-psi{border-top-color:#b3261e;}

.field-hint{font-size:12.5px; color:var(--muted); margin:6px 0 0;}

.staff-form{max-width:520px;}
.staff-form.staff-form-wide{max-width:960px;}
.staff-form .field{margin-bottom:18px;}
.staff-form label{display:block; font-size:13.5px; color:var(--muted); margin-bottom:6px;}
.staff-form .input, .staff-form input[type="text"], .staff-form input[type="password"], .staff-form input[type="email"], .staff-form input[type="file"], .staff-form textarea{
  width:100%; font:inherit; font-size:15.5px;
  background:var(--paper-raised); color:var(--ink);
  border:1px solid var(--line); padding:10px 12px;
  resize:vertical;
}
.staff-form .input:disabled, .staff-form select:disabled{
  background:var(--line); color:var(--muted); cursor:not-allowed; border-style:dashed;
}
.staff-form .checkbox-row{display:flex; align-items:center; gap:8px;}
.staff-form .checkbox-row input{width:17px; height:17px; accent-color:var(--brand);}
.staff-form .checkbox-row label{margin:0;}
.staff-form .errorlist{color:var(--caution); font-size:13px; margin:4px 0 0; padding:0; list-style:none;}

.log-filters{
  max-width:none; display:flex; gap:12px; align-items:flex-end; margin-bottom:24px; flex-wrap:nowrap;
}
.log-filters .field{margin-bottom:0; flex-shrink:1; min-width:0;}
.log-filters .field:first-child{flex:1 1 auto;}
.log-filters label{font-size:11px; margin-bottom:4px; white-space:nowrap;}
.log-filters .input, .log-filters input[type="text"], .log-filters input[type="date"], .log-filters select{
  font-size:12.5px; padding:6px 8px;
}
.log-filters select.input{width:auto; max-width:150px;}
.log-filters input[type="date"].input{width:auto;}
@media (max-width:900px){.log-filters{flex-wrap:wrap;}}
.staff-form .current-logo{display:flex; align-items:center; gap:10px; margin-bottom:10px;}
.staff-form .current-logo img{height:40px; width:40px; object-fit:contain; border:1px solid var(--line); background:var(--paper);}
.staff-form .actions{display:flex; gap:12px; margin-top:28px; align-items:center;}

.detail-card{background:var(--paper-raised); border:1px solid var(--line); padding:28px; max-width:560px;}
.detail-card .logo-row{margin-bottom:20px;}
.detail-card .logo-row img{height:56px; width:56px; object-fit:contain; border:1px solid var(--line); background:var(--paper);}
.detail-card .logo-row .logo-placeholder{height:56px; width:56px; font-size:24px;}
.detail-card dl{margin:0; display:grid; grid-template-columns:auto 1fr; gap:10px 20px;}
.detail-card dt{color:var(--muted); font-size:13px;}
.detail-card dd{margin:0; font-size:15px;}
.detail-card .actions{display:flex; gap:14px; margin-top:24px; padding-top:20px; border-top:1px solid var(--line); flex-wrap:wrap;}
.detail-card .actions form{margin:0;}
.message-body{
  margin:22px 0 0; padding-top:18px; border-top:1px solid var(--line);
  font-size:15.5px; line-height:1.7; white-space:pre-wrap;
}

.cred-row{margin-bottom:18px;}
.cred-row label{display:block; font-size:13px; color:var(--muted); margin-bottom:6px;}
.cred-copy{display:flex; gap:10px;}
.cred-copy input{
  flex:1; font-family:"Share Tech Mono",ui-monospace,monospace; font-size:16px;
  background:var(--paper); color:var(--ink); border:1px solid var(--line); padding:10px 12px;
}
.cred-copy .btn{padding:10px 16px; font-size:13.5px;}

.link-danger{color:var(--caution);}
.link-danger:hover{color:var(--caution);}
