:root { color:#101828; background:#f5f7fa; font-family:"Segoe UI",system-ui,sans-serif; font-size:15px; }
* { box-sizing:border-box; }
body { margin:0; }
button,textarea,input { font:inherit; }
.aplicatie { width:min(1180px,calc(100% - 32px)); margin:24px auto; }
.antet { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.antet h1 { margin:0; font-size:28px; }
.antet p { margin:5px 0 20px; color:#475467; font-size:14px; }
.titlu-aplicatie { display:flex; align-items:flex-start; gap:10px; min-width:0; }
.titlu-aplicatie>div { min-width:0; }
.pictograma-antet { flex:0 0 auto; width:46px; height:46px; color:#2878b5; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.selector-limba { display:flex; align-items:center; gap:7px; flex:0 0 auto; }
.limba { display:grid; grid-template-columns:auto auto; align-items:center; gap:4px; min-width:42px; min-height:34px; padding:5px 7px; color:#475467; background:#fff; border:1px solid #d0d5dd; border-radius:6px; cursor:pointer; transition:transform .15s ease; }
.limba svg { display:block; width:24px; height:16px; border-radius:2px; box-shadow:0 0 0 1px rgb(16 24 40 / 12%); }
.limba span { font-size:11px; font-weight:700; }
.limba.activa { min-height:42px; padding:7px 9px; color:#101828; border-color:#2b7fb3; }
.limba.activa svg { width:33px; height:22px; }
.limba:focus-visible { outline:3px solid rgb(43 127 179 / 25%); outline-offset:1px; }
.corp { display:grid; grid-template-columns:minmax(310px,1fr) minmax(520px,2fr); gap:18px; align-items:stretch; }
.panou { min-width:0; padding:20px; background:#fff; border:1px solid #e4e7ec; border-radius:10px; box-shadow:0 2px 8px rgb(16 24 40 / 5%); }
.panou h2 { margin:0 0 10px; font-size:15px; }
#formular-coordonate { display:grid; }
textarea,input { width:100%; padding:10px; color:#101828; background:#fff; border:1px solid #cfd4dc; border-radius:6px; outline:none; }
textarea { min-height:48px; resize:vertical; }
textarea:focus,input:focus { border-color:#2b7fb3; box-shadow:0 0 0 3px rgb(43 127 179 / 15%); }
.text-secundar { color:#667085; }
.detectie { min-height:20px; margin:5px 0; font-size:13px; }
.buton { padding:9px 11px; color:#344054; background:#fff; border:1px solid #cfd4dc; border-radius:6px; cursor:pointer; }
.buton:hover:not(:disabled) { background:#eef2f6; }
.buton:focus-visible { outline:3px solid rgb(43 127 179 / 25%); outline-offset:1px; }
.buton:disabled { color:#8a8f98; background:#e5e7eb; cursor:not-allowed; }
.buton-accent:not(:disabled),.buton-principal:not(:disabled) { color:#fff; background:#2b7fb3; border-color:#2b7fb3; font-weight:700; }
.buton-accent:hover:not(:disabled),.buton-principal:hover:not(:disabled) { background:#1f618d; }
.lista-puncte { height:292px; margin-top:12px; overflow:auto; border:1px solid #cfd4dc; border-radius:6px; padding:5px; }
.punct-lista { display:block; width:100%; padding:8px 9px; text-align:left; color:#101828; background:transparent; border:0; border-radius:4px; cursor:pointer; }
.punct-lista:hover { background:#f2f4f7; }
.punct-lista.selectat { color:#fff; background:#2b7fb3; font-weight:700; }
.selectie { min-height:20px; margin:6px 0 10px; font-weight:700; }
.actiuni-puncte { display:grid; grid-template-columns:repeat(2,1fr); gap:7px; }
.buton-principal { width:100%; margin-top:12px; padding:13px; }
.cadru-schita { position:relative; width:100%; min-height:420px; background:#fff; border:1px solid #d0d5dd; }
#schita-teren { display:block; width:100%; height:420px; }
.schita-goala { position:absolute; inset:0; display:grid; place-items:center; margin:0; color:#667085; pointer-events:none; }
.schita-goala[hidden] { display:none; }
.zona-contur { margin-top:10px; padding:10px 12px; color:#9a3412; background:#fff7ed; border:1px solid #fed7aa; border-radius:6px; font-weight:700; }
.zona-contur p { margin:0 0 9px; }
.actiuni-contur { display:flex; gap:8px; flex-wrap:wrap; }
.rezultate-principale { display:grid; grid-template-columns:1fr 1fr; gap:16px; font-weight:700; font-size:17px; }
.laturi { line-height:1.7; overflow-wrap:anywhere; }
dialog { width:min(520px,calc(100% - 32px)); padding:22px; border:1px solid #d0d5dd; border-radius:10px; box-shadow:0 18px 50px rgb(16 24 40 / 25%); }
dialog::backdrop { background:rgb(16 24 40 / 45%); }
dialog h2 { margin-top:0; }
dialog label { font-weight:600; }
dialog .text-secundar { margin:5px 0 10px; }
.eroare { min-height:20px; color:#b42318; }
.actiuni-dialog { display:flex; justify-content:flex-end; gap:8px; }
.notificare { position:fixed; right:20px; bottom:20px; max-width:420px; padding:13px 16px; color:#fff; background:#b42318; border-radius:7px; box-shadow:0 8px 24px rgb(16 24 40 / 25%); }
.brand-footer { padding:16px 4px 0; color:#667085; font-size:12px; text-align:center; }
.brand-footer a { color:inherit; text-underline-offset:2px; }
.doar-cititoare { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
@media (max-width:880px) { .corp { grid-template-columns:1fr; } .lista-puncte { height:240px; } }
@media (max-width:520px) {
  .aplicatie { width:min(100% - 16px,1180px); margin:12px auto; }
  .panou { padding:14px; }
  .antet { gap:10px; }
  .antet h1 { font-size:23px; }
  .antet p { margin-bottom:14px; }
  .titlu-aplicatie { gap:8px; }
  .pictograma-antet { width:36px; height:36px; }
  .selector-limba { gap:4px; }
  .limba { grid-template-columns:1fr; justify-items:center; min-width:38px; min-height:42px; padding:4px; }
  .limba svg { width:22px; height:15px; }
  .limba.activa { min-width:48px; min-height:48px; padding:5px; }
  .limba.activa svg { width:30px; height:20px; }
  textarea,input { font-size:16px; }
  .buton,.punct-lista { min-height:44px; }
  .punct-lista { padding:10px 9px; }
  .actiuni-puncte,.rezultate-principale { grid-template-columns:1fr; }
  .actiuni-contur .buton { flex:1 1 100%; }
  #schita-teren,.cadru-schita { min-height:330px; height:330px; }
  .notificare { right:8px; bottom:8px; left:8px; max-width:none; }
}

/* Identitate vizuală web */
:root {
  --albastru:#2878b5;
  --albastru-inchis:#1d5f91;
  --albastru-pal:#edf6fc;
  --contur:#dbe5ee;
  --umbra:0 8px 28px rgb(31 64 91 / 8%);
  --i-coordonate:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6-5.1 6-11a6 6 0 1 0-12 0c0 5.9 6 11 6 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.2'/%3E%3C/g%3E%3C/svg%3E");
  --i-plus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/g%3E%3C/svg%3E");
  --i-editare:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m14.5 5.5 4 4M4 20l4.2-1 10.7-10.7a2.1 2.1 0 0 0-3-3L5.2 16 4 20Z'/%3E%3C/g%3E%3C/svg%3E");
  --i-inserare:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h10M4 12h7M4 17h6M18 11v8M14 15h8'/%3E%3C/g%3E%3C/svg%3E");
  --i-stergere:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7h14M9 7V4h6v3M7 7l1 13h8l1-13M10 11v5M14 11v5'/%3E%3C/g%3E%3C/svg%3E");
  --i-golire:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 4 10 10M17 4 7 14M5 19h14'/%3E%3C/g%3E%3C/svg%3E");
  --i-calcul:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M8 7h8v3H8zM8 14h1M12 14h1M16 14h1M8 18h1M12 18h1M16 18h1'/%3E%3C/g%3E%3C/svg%3E");
  --i-schita:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 17 3-11 10-2 3 12-8 4-8-3Z'/%3E%3Ccircle cx='7' cy='6' r='1.4' fill='black'/%3E%3Ccircle cx='17' cy='4' r='1.4' fill='black'/%3E%3Ccircle cx='20' cy='16' r='1.4' fill='black'/%3E%3Ccircle cx='12' cy='20' r='1.4' fill='black'/%3E%3Ccircle cx='4' cy='17' r='1.4' fill='black'/%3E%3C/g%3E%3C/svg%3E");
  --i-alerta:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2.8 20h18.4L12 3Z'/%3E%3Cpath d='M12 9v5M12 17.5v.1'/%3E%3C/g%3E%3C/svg%3E");
  --i-validare:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 2.6 2.7L16.5 9'/%3E%3C/g%3E%3C/svg%3E");
  --i-ordine:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'%3E%3Cpath d='M9 6h11M9 12h11M9 18h11'/%3E%3Ccircle cx='4.5' cy='6' r='1' fill='black'/%3E%3Ccircle cx='4.5' cy='12' r='1' fill='black'/%3E%3Ccircle cx='4.5' cy='18' r='1' fill='black'/%3E%3C/g%3E%3C/svg%3E");
  --i-aria:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M5 19 7 6l11-2 1 13-8 3-6-1Z'/%3E%3Cpath d='m7 6 12 11M18 4 5 19' opacity='.45'/%3E%3C/g%3E%3C/svg%3E");
  --i-perimetru:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='3' stroke-dasharray='3 2'/%3E%3Cpath d='M8 8h8v8H8z' opacity='.4'/%3E%3C/g%3E%3C/svg%3E");
  --i-laturi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 17 4-11 11 3-2 10-13-2Z'/%3E%3Cpath d='m7 14 1.5.5M10 15l1.5.5M13 16l1.5.5'/%3E%3C/g%3E%3C/svg%3E");
}

body { min-height:100vh; background:linear-gradient(145deg,#f7fafc 0%,#eef4f8 100%); }
.aplicatie { margin-top:30px; margin-bottom:24px; }
.antet { padding:0 4px 4px; }
.antet h1 { color:#163c5b; letter-spacing:.035em; }
.antet p { color:#60758a; }
.panou { padding:22px; border-color:var(--contur); border-radius:14px; box-shadow:var(--umbra); }
.panou h2 { display:flex; align-items:center; gap:8px; color:#223f59; font-size:16px; letter-spacing:.015em; }
.panou h2::before,.buton::before,.rezultate-principale p::before,.laturi::before,.schita-goala::before,.zona-contur>p::before {
  content:""; display:inline-block; flex:0 0 auto; width:19px; height:19px; background:currentColor;
  -webkit-mask:var(--icon) center/contain no-repeat; mask:var(--icon) center/contain no-repeat;
}
#titlu-puncte { --icon:var(--i-coordonate); }
#titlu-schita { --icon:var(--i-schita); }
textarea,input { border-color:#cbd9e5; border-radius:8px; transition:border-color .15s,box-shadow .15s; }
textarea { padding:12px; background:#fbfdff; }
.lista-puncte { height:292px; border-color:#d7e2eb; border-radius:9px; background:#fbfdff; }
.lista-puncte:empty { display:grid; place-items:center; }
.lista-puncte:empty::before { content:""; width:38px; height:38px; opacity:.18; background:#52738e; -webkit-mask:var(--i-coordonate) center/contain no-repeat; mask:var(--i-coordonate) center/contain no-repeat; }
.punct-lista { border-radius:6px; }
.selectie { color:#597086; }
.buton { display:inline-flex; align-items:center; justify-content:center; gap:7px; border-color:#cad8e4; border-radius:8px; transition:background .15s,border-color .15s,transform .08s; }
.buton:active:not(:disabled) { transform:translateY(1px); }
.buton::before { width:17px; height:17px; opacity:.85; }
#adauga { --icon:var(--i-plus); }
#modifica { --icon:var(--i-editare); }
#insereaza { --icon:var(--i-inserare); }
#sterge { --icon:var(--i-stergere); }
#goleste { --icon:var(--i-golire); }
#calculeaza { --icon:var(--i-calcul); }
#aplica-recomandarea { --icon:var(--i-validare); }
#ordine-manuala { --icon:var(--i-ordine); }
#anuleaza-ordine::before { display:none; }
#formular-ordine .buton-accent { --icon:var(--i-validare); }
.buton-principal { min-height:48px; margin-top:14px; letter-spacing:.025em; box-shadow:0 5px 14px rgb(43 127 179 / 18%); }
.buton-principal::before { width:21px; height:21px; }
.cadru-schita { overflow:hidden; min-height:420px; border-color:#d8e3ec; border-radius:10px; background:linear-gradient(#fff,#fcfdff); }
.cadru-schita::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.32; background-image:linear-gradient(#dce8f0 1px,transparent 1px),linear-gradient(90deg,#dce8f0 1px,transparent 1px); background-size:32px 32px; }
#schita-teren { position:relative; z-index:1; }
#schita-teren { padding:10px 12px; }
.schita-goala { position:absolute; z-index:1; }
.schita-goala { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; }
.schita-goala::before { --icon:var(--i-schita); width:42px; height:42px; color:#7d9ab1; opacity:.55; }
.zona-contur { padding:12px 14px; border-radius:9px; box-shadow:0 3px 10px rgb(154 52 18 / 5%); }
.zona-contur>p { display:flex; align-items:flex-start; gap:8px; }
.zona-contur>p::before { --icon:var(--i-alerta); width:20px; height:20px; }
.rezultate-principale { gap:12px; margin-top:14px; }
.rezultate-principale p,.laturi { position:relative; min-width:0; margin:0; padding:19px 18px 19px 54px; border:1px solid; border-radius:11px; font-size:18px; font-weight:750; line-height:1.45; box-shadow:0 4px 14px rgb(31 64 91 / 5%); }
.rezultate-principale p::before,.laturi::before { position:absolute; top:18px; left:17px; width:25px; height:25px; }
#aria { --icon:var(--i-aria); color:#276749; background:#f1faf5; border-color:#cce9d8; }
#perimetru { --icon:var(--i-perimetru); color:#245f91; background:#f0f7fc; border-color:#cbdfee; }
.laturi { --icon:var(--i-laturi); margin-top:12px; color:#7a5813; background:#fffaf0; border-color:#efdfb7; }
.brand-footer { padding-top:20px; color:#708397; }

@media (max-width:520px) {
  .aplicatie { margin-top:14px; }
  .panou { padding:15px; border-radius:12px; }
  .panou h2 { font-size:15px; }
  .rezultate-principale { gap:9px; }
  .rezultate-principale p,.laturi { padding:16px 12px 16px 47px; font-size:16px; overflow-wrap:anywhere; }
  .rezultate-principale p::before,.laturi::before { top:15px; left:14px; width:23px; height:23px; }
  .buton { padding-right:9px; padding-left:9px; }
  .selector-limba { max-width:46%; }
}

@media (max-width:360px) {
  .antet { flex-wrap:wrap; }
  .selector-limba { max-width:100%; margin-left:auto; }
}

/* Rafinare cromatică a pictogramelor funcționale */
#titlu-puncte::before,
#titlu-schita::before {
  width:22px;
  height:22px;
  background:var(--albastru);
}

#modifica::before,
#insereaza::before,
#sterge::before,
#goleste::before,
#aplica-recomandarea::before,
#ordine-manuala::before {
  width:20px;
  height:20px;
  color:var(--albastru);
  background:var(--albastru);
  opacity:1;
}

.zona-contur>p::before {
  width:22px;
  height:22px;
  color:var(--albastru);
  background:var(--albastru);
  opacity:1;
}

#calculeaza:not(:disabled)::before {
  width:22px;
  height:22px;
  color:#fff;
  background:#fff;
  opacity:1;
}
