@font-face{font-family:"Manrope";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/manrope-latin-500-normal.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:"Manrope";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/manrope-latin-ext-500-normal.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:"Manrope";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/manrope-latin-600-normal.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:"Manrope";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/manrope-latin-ext-600-normal.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:"Manrope";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/manrope-latin-700-normal.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:"Manrope";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/manrope-latin-ext-700-normal.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:"Manrope";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/manrope-latin-800-normal.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:"Manrope";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/manrope-latin-ext-800-normal.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}

/* Shared visual theme, based on the registry filters, portal header and planner.
   Screen only: shared typography and surfaces, with original document/print sizes.
   Status, shift, chart and map colours remain owned by their components. */

@media screen {
  :root {
    --pt-font-scale: 1.08;
    font-size: calc(100% * var(--pt-font-scale));
  }
  :is(.doc-preview, #printArea) { --pt-font-scale: 1; }

  html[data-portal-page] {
    --pt-font: Manrope, system-ui, -apple-system, "Segoe UI", sans-serif;
    --pt-paper: #fff;
    --pt-canvas: #f3f6f1;
    --pt-soft: #edf4e9;
    --pt-line: #dfe8dc;
    --pt-ink: #263b2d;
    --pt-muted: #69796d;
    --pt-green: #23663e;
    --pt-deep: #185e36;
    --pt-header: #145c33;
    --pt-shadow: 0 2px 8px #193b2410;
    --pt-dialog-shadow: 0 24px 80px #102e2338;
    --pt-ring: 0 0 0 3px #23663e20;

    /* Existing component variables keep their original responsibilities. */
    --verde: var(--pt-green);
    --fundal: var(--pt-canvas);
    --card: var(--pt-paper);
    --text: var(--pt-ink);
    --gri: var(--pt-muted);
    --linie: var(--pt-line);
    --sh1: var(--pt-shadow);
    --sh2: var(--pt-dialog-shadow);
    --ring: var(--pt-ring);
    --s-f: var(--pt-font);
    --s-verde: var(--pt-green);
    --s-ink: var(--pt-ink);
    --s-ink2: var(--pt-ink);
    --s-ink3: var(--pt-muted);
    --s-line: var(--pt-line);
    --s-soft: var(--pt-canvas);
    --s-soft2: var(--pt-soft);
    --s-u1: var(--pt-shadow);
    --s-u2: var(--pt-dialog-shadow);
  }

  html[data-portal-page] body {
    background-color: var(--pt-canvas);
    background-image: none;
    color: var(--pt-ink);
    font-family: var(--pt-font);
  }
  html[data-portal-page] body :where(*):not(:where(
    pre, pre *, code, code *, kbd, kbd *, samp, samp *,
    svg, svg *, .doc-preview, .doc-preview *, #printArea, #printArea *, .ref, .ref *
  )) { font-family: var(--pt-font) !important; }
  html[data-portal-page] ::selection { background-color: #dcebd5; color: var(--pt-ink); }
  html[data-portal-page] :is(input[type="checkbox"], input[type="radio"], input[type="range"]) {
    accent-color: var(--pt-green);
  }
  html[data-portal-page] :is(button, a, input, select, textarea, summary, [tabindex]):focus-visible {
    outline-color: #739f68;
  }

  /* Form controls: retain each module's sizes and touch targets. */
  html[data-portal-page] :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="hidden"]):not([type="button"]):not([type="submit"]),
    select, textarea
  ):not(:where(.doc-preview *, #printArea *)) {
    background-color: var(--pt-canvas);
    border-color: var(--pt-line);
    border-radius: 8px;
    color: var(--pt-ink);
    box-shadow: none;
  }
  html[data-portal-page] :is(input, select, textarea):focus:not(:where(.doc-preview *, #printArea *)) {
    border-color: #8eaf84;
    box-shadow: var(--pt-ring);
  }
  html[data-portal-page] :is(input, textarea)::placeholder { color: #809080; }

  /* Shared actions; destructive, status and header controls keep their variants. */
  html[data-portal-page] .btn:not(:where(
    .rosu, #hdr *, header.top *, .topbar *, .asCap *, .anCap *, #zonaTv *
  )) {
    background-color: var(--pt-deep);
    background-image: none;
    border-color: var(--pt-deep);
    border-radius: 9px;
    color: #fff;
    box-shadow: none;
  }
  html[data-portal-page] .btn:is(.gri, .sec, .ghost, .btn-line):not(:where(
    #hdr *, header.top *, .topbar *, .asCap *, .anCap *, #zonaTv *
  )) {
    background-color: var(--pt-paper);
    border-color: var(--pt-line);
    color: var(--pt-green);
    box-shadow: inset 0 0 0 1px var(--pt-line);
  }
  html[data-portal-page] .btn:not(:disabled):hover:not(:where(
    .rosu, #hdr *, header.top *, .topbar *, .asCap *, .anCap *, #zonaTv *
  )) { background-color: var(--pt-header); color: #fff; box-shadow: none; }
  html[data-portal-page] .btn:is(.gri, .sec, .ghost, .btn-line):not(:disabled):hover:not(:where(
    #hdr *, header.top *, .topbar *, .asCap *, .anCap *, #zonaTv *
  )) { background-color: var(--pt-soft); color: var(--pt-green); box-shadow: inset 0 0 0 1px var(--pt-line); }

  /* Registry, permits, command centre, contacts, field journal and admin. */
  html[data-portal-page="portal"] :is(
    .kpi, .asCard, .anzCard, .comCard, .comStudio, .dzFlota, .dzTratate,
    .fStatie, .rK, .fZone, .anNotif, .comMat, .panouConsum
  ) {
    background-color: var(--pt-paper);
    border-color: var(--pt-line);
    border-radius: 13px;
    box-shadow: var(--pt-shadow);
  }
  html[data-portal-page="portal"] .kpi::before { background-image: none; }
  html[data-portal-page="portal"] .kpi span { color: var(--pt-muted); }
  html[data-portal-page="portal"] :is(.fisa, .flM, #meniuLista) {
    background-color: var(--pt-paper);
    border-color: var(--pt-line);
    border-radius: 17px;
    box-shadow: var(--pt-dialog-shadow);
  }
  html[data-portal-page="portal"] :is(.modal, .flModal) { background-color: #12312065; }
  html[data-portal-page="portal"] :is(.fisa h2, .sect h3, .anzCard h3, .comCap h2, .fCap b.t, .fZT) {
    color: var(--pt-ink);
  }
  html[data-portal-page="portal"] :is(.sect, .csBara, .csPanou, .fStCap, .flMCap, .fAdm, .fInc, .fAl, .fGrup) {
    border-color: var(--pt-line);
  }
  html[data-portal-page="portal"] :is(.csScena, .asFir, .chat) {
    background-color: var(--pt-canvas);
    background-image: none;
  }
  html[data-portal-page="portal"] :is(.asCap, .anCap) {
    background-color: var(--pt-header);
    background-image: none;
    color: #f7fcf5;
  }
  html[data-portal-page="portal"] :is(.asCap, .anCap) .btn {
    background-color: #ffffff17;
    background-image: none;
    border-color: #ffffff30;
    border-radius: 9px;
    color: #fff;
    box-shadow: none;
  }
  html[data-portal-page="portal"] :is(.asChip, .csTool, .fMb, .fFb, .fTipB) {
    border-color: var(--pt-line);
    border-radius: 9px;
  }
  html[data-portal-page="portal"] :is(.asScrie, .comDrop, .csDrop) {
    border-color: var(--pt-line);
    border-radius: 13px;
  }
  html[data-portal-page="portal"] :is(.comTab, .csUn, .dzFiltre button, .anzPer button, .anTinta, .fFb):is(.on, .act),
  html[data-portal-page="portal"] .fTipB.on {
    background-color: var(--pt-soft);
    background-image: none;
    border-color: #b9ceb1;
    color: var(--pt-deep);
  }
  html[data-portal-page="portal"] .seg {
    background-color: var(--pt-canvas);
    border-color: var(--pt-line);
    border-radius: 9px;
    box-shadow: none;
  }
  html[data-portal-page="portal"] .seg button { background-color: transparent; color: var(--pt-muted); }
  html[data-portal-page="portal"] .seg button.on {
    background-color: var(--pt-paper);
    color: var(--pt-green);
    box-shadow: 0 1px 4px #183e2214;
  }
  html[data-portal-page="portal"] #bara2:not(.registry-heading) {
    background-color: var(--pt-canvas);
    border-color: var(--pt-line);
  }
  html[data-portal-page="portal"] #bara2:not(.registry-heading) .seg { border-radius: 9px; box-shadow: none; }
  html[data-portal-page="portal"] #bara2:not(.registry-heading) .seg button { border-radius: 7px; color: var(--pt-muted); }
  html[data-portal-page="portal"] #bara2:not(.registry-heading) .seg button.on { background-color: #fff; color: var(--pt-green); }

  html[data-portal-page="portal"] table {
    border-color: var(--pt-line);
    border-radius: 13px;
    box-shadow: var(--pt-shadow);
  }
  html[data-portal-page="portal"] :is(th, .dzFlota .fTabel th, .rT th, #zonaLista th) {
    background-color: var(--pt-soft);
    background-image: none;
    border-color: var(--pt-line);
    color: var(--pt-muted);
  }
  html[data-portal-page="portal"] td { border-color: var(--pt-line); }
  html[data-portal-page="portal"] tbody tr:nth-child(even) { background-color: #f8faf6; }
  html[data-portal-page="portal"] tbody tr:hover { background-color: var(--pt-soft); }
  html[data-portal-page="portal"] :is(.sect, .fisa) table { border-radius: 0; box-shadow: none; }

  html[data-portal-page="portal"] #login {
    background-color: var(--pt-canvas);
    background-image: none;
  }
  html[data-portal-page="portal"] #login form { border-color: var(--pt-line); border-radius: 17px; box-shadow: var(--pt-dialog-shadow); }
  /* Help is injected with inline presentation; override only its surfaces. */
  html[data-portal-page="portal"] #ajFer { background-color: #12312065 !important; }
  html[data-portal-page="portal"] #ajFer > div { background-color: var(--pt-canvas) !important; }
  html[data-portal-page="portal"] #ajFer > div > div:first-child { background-color: var(--pt-header) !important; }
  html[data-portal-page="portal"] #ajFer details { border-color: var(--pt-line); border-radius: 13px; }
  /* The room display remains dark, with the same forest-green identity. */
  html[data-portal-page="portal"] #zonaTv { background-color: #102f20 !important; background-image: none !important; }
  html[data-portal-page="portal"] :is(.tvP, .tvKpi) {
    background-color: #16452c;
    background-image: none;
    border-radius: 13px;
    border-color: #ffffff20;
    box-shadow: none;
  }

  /* Cat houses: remove the separate cream/serif identity, retain status pills. */
  html[data-portal-page="casute"] {
    --ui: var(--pt-font);
    --disp: var(--pt-font);
    --verde-adanc: var(--pt-deep);
    --verde-clar: var(--pt-green);
    --crem: var(--pt-canvas);
    --nisip: var(--pt-soft);
    --nisip-linie: var(--pt-line);
    --cerneala: var(--pt-ink);
    --cerneala-moale: var(--pt-muted);
    --umbra: var(--pt-shadow);
    --umbra-mare: var(--pt-dialog-shadow);
  }
  html[data-portal-page="casute"] :is(header.top, .dr-head) {
    background-color: var(--pt-header);
    background-image: none;
    color: #f7fcf5;
    box-shadow: var(--pt-shadow);
  }
  html[data-portal-page="casute"] :is(.brand .sub, .dr-head .ref, .dr-head .dr-adr) { color: #d2e5d4; }
  html[data-portal-page="casute"] header.top .btn { border-radius: 9px !important; box-shadow: none; }
  html[data-portal-page="casute"] #btnJurnal { background-color: #f0f7e8 !important; color: var(--pt-deep) !important; }
  html[data-portal-page="casute"] header.top .btn-lime {
    background-color: #f0f7e8;
    background-image: none;
    color: var(--pt-deep);
    border-radius: 9px;
    box-shadow: none;
  }
  html[data-portal-page="casute"] :is(.kpi, .card-table, .doc-btn, .ai-stage, .sign-box, .ag-item, .pv-item) {
    border-color: var(--pt-line);
    border-radius: 13px;
    box-shadow: var(--pt-shadow);
  }
  html[data-portal-page="casute"] .kpi .k-val { color: var(--pt-green); }
  html[data-portal-page="casute"] :is(.drawer, .mo-head, .mo-foot) { background-color: var(--pt-canvas); border-color: var(--pt-line); }
  html[data-portal-page="casute"] .modal { border-radius: 17px; box-shadow: var(--pt-dialog-shadow); }
  html[data-portal-page="casute"] :is(.scrim, .modal-scrim) { background-color: #12312065; }
  html[data-portal-page="casute"] .search { background-color: var(--pt-canvas); border-color: var(--pt-line); border-radius: 8px; }
  html[data-portal-page="casute"] .seg { background-color: var(--pt-canvas); border-color: var(--pt-line); border-radius: 9px; }
  html[data-portal-page="casute"] .seg button.on { background-color: #fff; color: var(--pt-green); box-shadow: var(--pt-shadow); }
  html[data-portal-page="casute"] :is(thead th, .jurnal-t th):not(:where(.doc-preview *)) { background-color: var(--pt-soft); color: var(--pt-muted); border-color: var(--pt-line); }
  html[data-portal-page="casute"] tbody td:not(:where(.doc-preview *)) { border-color: var(--pt-line); }
  html[data-portal-page="casute"] tbody tr:hover:not(:where(.doc-preview *)) { background-color: var(--pt-soft); }
  html[data-portal-page="casute"] :is(.sec-title, .mo-head h3, .who, .cnt) { color: var(--pt-ink); }

  /* Data centre: same surfaces and header, retaining shift and urgency colours. */
  html[data-portal-page="centru"] {
    --bg: var(--pt-canvas);
    --surface: var(--pt-paper);
    --surface-2: #f8faf6;
    --border: var(--pt-line);
    --border-2: #e8eee4;
    --muted: var(--pt-muted);
    --muted-2: #809080;
    --brand: var(--pt-green);
    --brand-soft: var(--pt-soft);
    --band: var(--pt-header);
    --band-2: var(--pt-deep);
    --disp: var(--pt-font);
    --mono: var(--pt-font);
    --shadow-1: var(--pt-shadow);
  }
  html[data-portal-page="centru"] :is(.topbar, #tabbar) {
    background-color: var(--pt-header);
    background-image: none;
    box-shadow: var(--pt-shadow);
  }
  html[data-portal-page="centru"] .topbar::after { background-image: none; }
  html[data-portal-page="centru"] .brandmark { filter: none; }
  html[data-portal-page="centru"] :is(.topbar h1, .topbar h1 b, .user .who .nm, .clock .time) { color: #f7fcf5; text-shadow: none; }
  html[data-portal-page="centru"] :is(.topbar .eyebrow, .user .who .rl, .clock .now, .clock .now b, .tabbtn) { color: #d2e5d4; }
  html[data-portal-page="centru"] .clock .now b { color: #d2e5d4 !important; }
  html[data-portal-page="centru"] .roles button.on { background-color: #f0f7e8; color: var(--pt-deep); }
  html[data-portal-page="centru"] .tabbtn.act { color: #fff; }
  html[data-portal-page="centru"] .tabbtn.act::after { background-color: #c1d99b; box-shadow: none; }
  html[data-portal-page="centru"] :is(.card, .auth-card, .regtable-wrap, .op-hero) { border-color: var(--pt-line); border-radius: 13px; box-shadow: var(--pt-shadow); }
  html[data-portal-page="centru"] :is(.card-head, .mo-head, .mo-foot) { background-color: var(--pt-canvas); background-image: none; border-color: var(--pt-line); }
  html[data-portal-page="centru"] .mo-head h3 { color: var(--pt-ink); }
  html[data-portal-page="centru"] .mo-x { background-color: var(--pt-soft); color: var(--pt-green); }
  html[data-portal-page="centru"] .mo-card { border-radius: 17px; box-shadow: var(--pt-dialog-shadow); }
  html[data-portal-page="centru"] .mo-ovl { background-color: #12312065; }
  html[data-portal-page="centru"] .regtable th { background-color: var(--pt-soft); color: var(--pt-muted); }
  html[data-portal-page="centru"] .sched :is(th.monthhdr, .mcorner, th.dayh:not(.today):not(.wkd)) { background-color: var(--pt-soft); color: var(--pt-ink); }
  html[data-portal-page="centru"] .sched tbody td.opname { background-color: #f8faf6; }
  html[data-portal-page="centru"] .sched tbody tr.r-alt td.opname { background-color: var(--pt-soft); }
  html[data-portal-page="centru"] :is(.seg, .tabs) { background-color: var(--pt-canvas); border-color: var(--pt-line); border-radius: 9px; }
  html[data-portal-page="centru"] :is(.tabs button.on, .seg button.act) { background-color: #fff; color: var(--pt-green); box-shadow: var(--pt-shadow); }
  html[data-portal-page="centru"] .duty-hero.dz { background-color: var(--pt-deep); background-image: none; box-shadow: var(--pt-shadow); }
  html[data-portal-page="centru"] .duty-hero.dn { background-color: #123b27; background-image: none; box-shadow: var(--pt-shadow); }

  /* Planner: reference design, aligned only to the shared palette. */
  html[data-portal-page="planner"] {
    --ink: var(--pt-ink);
    --green: var(--pt-green);
    --green-dark: var(--pt-deep);
    --muted: var(--pt-muted);
    --line: var(--pt-line);
    --soft: var(--pt-soft);
    background-color: var(--pt-canvas);
  }
  html[data-portal-page="planner"] .portal-header { background-color: var(--pt-header); }
  html[data-portal-page="planner"] .button { border-radius: 9px; }
  html[data-portal-page="planner"] :is(.workspace, .app-dialog) { border-color: var(--pt-line); }
  html[data-portal-page="planner"] :is(.map-search, .input-search) input {
    background-color: transparent !important;
    border-radius: 0 !important;
  }
}
