:root{--ink:#25283b;--muted:#777d90;--navy:#202337;--side:#20253b;--purple:#6055b3;--purple-dark:#4b429d;--light-purple:#f1effa;--border:#e7e9f0;--bg:#f6f7fa;--white:#fff;--green:#25886b;--radius:15px;--shadow:0 6px 24px rgba(34,40,65,.038)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}*:focus-visible{outline:3px solid #9f93ea;outline-offset:2px}.shell{display:flex;min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:248px;background:var(--side);color:#fff;display:flex;flex-direction:column;padding:29px 20px;z-index:4}.brand{display:flex;gap:13px;align-items:center;margin:0 8px 63px}.brand-symbol{background:#786bc8;color:#fff;display:inline-flex;align-items:center;justify-content:center;height:41px;width:41px;flex-shrink:0;border-radius:12px;font-size:24px;font-weight:600;font-family:Georgia,serif}.brand strong,.brand small{display:block;letter-spacing:.12em}.brand strong{font-size:16px}.brand small{font-size:9px;color:#c3c1d9;letter-spacing:.22em;margin-top:1px}.sidebar-caption{color:#858da7;font-weight:750;letter-spacing:.15em;font-size:10px;margin:0 16px 14px}.side-nav{display:grid;gap:7px}.side-nav a{display:flex;gap:12px;align-items:center;color:#b9bfd0;padding:12px 14px;border-radius:9px;font-weight:570}.side-nav a:hover{background:#30364e;color:white}.side-nav a.selected{background:#524c85;color:#fff}.nav-icon{font-size:19px;font-weight:400;width:21px;text-align:center}.sidebar-bottom{margin-top:auto;color:#d4d9e4;font-size:12px;padding:0 12px}.sidebar-bottom small{display:block;margin:5px 0 0 12px;line-height:1.5;color:#99a1b5}.secure-dot{display:inline-block;height:8px;width:8px;border-radius:100%;background:#52c79a;margin-right:5px}.main-area{margin-left:248px;min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:83px;background:white;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 43px;justify-content:space-between;gap:12px}.topbar-kicker{color:#7f8496;font-size:13px}.topbar-separator{margin:0 12px;color:#c9cdd9}.topbar-profile{display:flex;align-items:center;gap:11px;font-size:13px}.topbar-profile a{color:var(--purple);margin-left:11px;font-weight:650}.avatar{width:33px;height:33px;border-radius:50%;background:#eeeafa;color:var(--purple);display:grid;place-items:center;font-weight:800}.mobile-brand,.mobile-nav{display:none}.content{width:100%;max-width:1450px;margin:0 auto;padding:42px 42px 65px;flex:1}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:30px}.eyebrow{display:block;font-size:10px;letter-spacing:.17em;font-weight:800;color:var(--purple);margin-bottom:7px}.page-heading h1{font-size:30px;line-height:1.18;letter-spacing:-.035em;font-weight:740;margin:0 0 8px}.page-heading p{margin:0;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 17px;font-weight:650;font-size:13px;border-radius:9px;white-space:nowrap;border:1px solid transparent;min-height:42px;transition:background-color .15s}.btn.primary{background:var(--purple);color:#fff}.btn.primary:hover{background:var(--purple-dark)}.btn.light{background:#f1effa;color:var(--purple);border-color:#ece9f7}.btn.light:hover{background:#e5e1f7}.btn.ghost{background:white;color:#71758a;border-color:var(--border)}.btn.ghost:hover{background:#f7f7fb}.btn.full{width:100%}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-bottom:24px}.stat{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:22px 25px;box-shadow:var(--shadow);min-height:176px}.stat-icon{height:37px;width:37px;border-radius:10px;display:grid;place-items:center;font-size:23px;margin-bottom:15px}.stat-icon.blue{background:#e8efff;color:#5685e3}.stat-icon.violet{background:#ede9fa;color:#7867cc}.stat-icon.amber{background:#fff3dc;color:#c38b31}.stat>span,.stat>strong,.stat>small{display:block}.stat>span{font-size:12px;color:var(--muted);font-weight:600}.stat>strong{font-size:31px;font-weight:740;letter-spacing:-.05em;line-height:1.2;margin:4px 0}.stat>small{font-size:11px;color:#969aaa}.panel{background:white;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:24px;overflow:hidden}.panel-heading{padding:24px 27px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-heading h2{font-size:18px;line-height:1.2;letter-spacing:-.02em;margin:0}.panel-heading .eyebrow{margin-bottom:5px}.text-link,.small-link{color:var(--purple);font-weight:680}.text-link:hover,.small-link:hover{text-decoration:underline}.small-link{font-size:12px;white-space:nowrap}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{color:#9398a6;font-size:10px;letter-spacing:.09em;text-transform:uppercase;background:#fbfbfd;font-weight:760}td,th{padding:15px 25px;border-top:1px solid #eff0f5}td{font-size:12px;color:#5a6075}td .row-link{color:#2b314d;font-size:13px;font-weight:700}td .row-link:hover{color:var(--purple)}.nowrap{white-space:nowrap}.tag{display:inline-block;padding:5px 10px;background:#f2f0fb;border-radius:30px;color:#6860a7;font-size:11px;white-space:nowrap}.monospace{font-family:ui-monospace,Consolas,monospace}.muted{color:#8a90a2}.empty{text-align:center;padding:51px 20px 57px}.empty-icon{display:grid;place-items:center;background:#f3f0fc;color:#9a8cd5;border-radius:15px;width:59px;height:59px;font-size:32px;margin:auto}.empty h3{font-size:17px;margin:19px 0 5px}.empty p{color:var(--muted);margin:0 auto 20px;max-width:390px}.info-strip{border:1px solid #e4e4f0;background:#f0f0fa;border-radius:10px;padding:13px 17px;color:#686d8a;font-size:12px;display:flex;gap:11px;align-items:center;line-height:1.6}.info-strip>span{font-size:18px;color:#7569ba}.footer{text-align:center;color:#a2a6b4;font-size:11px;padding:10px 20px 25px}.search-row{display:flex;gap:10px;padding:22px 26px}.search-row input{flex:1;min-width:0}.field{display:flex;flex-direction:column;min-width:0}.field label{font-size:12px;font-weight:680;color:#454b61;margin-bottom:8px}.field input,.field textarea,.field select,.search-row input{border:1px solid #dadde8;border-radius:8px;color:var(--ink);background:#fff;padding:11px 12px;min-height:43px;width:100%;outline:0}.field input:focus,.field textarea:focus,.field select:focus,.search-row input:focus{border-color:#887cd2;box-shadow:0 0 0 3px #edeafa}.field textarea{resize:vertical;min-height:110px;line-height:1.6}.required{color:#bf5b70}.panel-form{max-width:780px}.panel-form .panel-heading{border-bottom:1px solid var(--border)}.form-grid{padding:26px;display:grid;gap:20px}.form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .span-2{grid-column:1 / -1}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:9px}.pager{display:flex;justify-content:space-between;align-items:center;padding:18px 25px;border-top:1px solid var(--border);color:var(--muted);font-size:12px}.pager>div{display:flex;gap:8px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(275px,.7fr);gap:20px}.patient-info{padding-bottom:25px}.detail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:10px 27px 24px}.detail-fields span,.detail-fields strong{display:block}.detail-fields span{font-size:11px;color:#9296a4;margin-bottom:4px}.detail-fields strong{font-size:13px;font-weight:650;overflow-wrap:anywhere}.patient-info>.text-link{margin:0 27px;font-size:12px}.patient-side{padding:24px 27px;background:#f3f1fb}.patient-side .eyebrow{margin-bottom:17px}.patient-side .feature-icon{font-size:26px;color:#7666c4}.patient-side h2{font-size:18px;margin:7px 0}.patient-side p{font-size:12px;line-height:1.8;color:#77758e;margin-bottom:20px}.count-pill{background:#f3f2f9;border-radius:14px;color:#777197;padding:6px 11px;font-size:11px;font-weight:650}.filters{display:grid;grid-template-columns:1.2fr 1.3fr .95fr .95fr auto auto;gap:10px;align-items:end;padding:14px 25px 24px}.filters .field label{font-size:10px;color:#898fa0}.filters .field input,.filters .field select{font-size:11px}.filters .btn{padding:10px 12px}.timeline{padding:7px 28px 15px}.timeline-item{position:relative;margin-left:14px;padding:0 0 27px 29px;border-left:1px solid #e8e5f5;scroll-margin-top:30px}.timeline-item:last-child{border-color:transparent}.timeline-dot{width:13px;height:13px;border-radius:50%;background:#8171d1;border:3px solid #eeeaf9;position:absolute;left:-7px;top:5px;box-sizing:content-box;transform:translateX(-3px)}.entry-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.entry-top time{font-size:11px;color:#8a8ca0}.entry-top h3{font-size:16px;margin:4px 0}.entry-meta{font-size:11px;color:#979bac}.entry-sections{margin-top:16px;display:grid;gap:15px}.entry-sections span{color:#817e9b;font-size:10px;letter-spacing:.07em;font-weight:800}.entry-sections p{margin:5px 0 0;font-size:13px;color:#50556b;line-height:1.7;overflow-wrap:anywhere}.entry-footer{font-size:10px;color:#a1a4b1;margin-top:14px}.toast{padding:13px 18px;border-radius:9px;margin-bottom:22px;font-size:13px;font-weight:550}.toast-success{background:#eaf8f1;color:#207451;border:1px solid #bbebd2}.toast-error{background:#fff0f0;color:#a13645;border:1px solid #f3c7cd}.auth-view{background:radial-gradient(ellipse at 23% 20%,#eeeafa,transparent 52%),#f8f8fb;min-height:100vh}.auth-shell{width:min(100% - 36px,448px);margin:0 auto;padding:8vh 0 40px}.auth-brand{display:flex;align-items:center;justify-content:center;gap:11px;color:#272a47;font-weight:800;letter-spacing:.16em;font-size:17px;margin-bottom:35px}.auth-brand small{font-weight:600;letter-spacing:.08em;font-size:10px;color:#8e90a3}.auth-card{background:#fff;border:1px solid var(--border);border-radius:17px;padding:34px;box-shadow:0 17px 65px #34335711}.auth-card h1{font-size:27px;letter-spacing:-.04em;line-height:1.25;margin:3px 0 11px}.auth-card>p{font-size:13px;color:#818499;line-height:1.8;margin:0}.auth-card .form-grid{padding:28px 0 0}.auth-card .auth-help{margin-top:26px;font-size:11px;color:#a2a5b0;text-align:center}.setup-shell{width:min(100% - 36px,790px);margin:0 auto;padding:40px 0 60px}.setup-card>.form-grid{padding-bottom:0}.setup-user{border:1px solid var(--border);border-radius:11px;margin:0;padding:0;min-width:0}.setup-user legend{font-weight:750;padding:0 11px;color:var(--purple)}.setup-user .form-grid{padding:18px;gap:15px}.panel-divider{height:1px;background:var(--border);margin:0 26px}.panel-form>form:last-child{padding:20px 26px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1250px){.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.filters .btn{align-self:end}.topbar{padding:0 26px}.content{padding:35px 28px}}
@media(max-width:950px){.sidebar{width:210px;padding:25px 13px}.main-area{margin-left:210px}.brand{margin-left:6px}.stat-grid{gap:10px}.stat{padding:18px}.detail-grid{grid-template-columns:1fr}.patient-side{display:none}}
@media(max-width:730px){.sidebar{display:none}.main-area{margin-left:0}.topbar{height:63px;padding:0 18px}.topbar-kicker{display:none}.mobile-brand{display:flex;align-items:center;gap:9px;font-weight:800;letter-spacing:.1em;font-size:13px}.mobile-brand .brand-symbol{width:30px;height:30px;border-radius:8px;font-size:18px}.profile-name{display:none}.mobile-nav{display:flex;background:white;border-bottom:1px solid var(--border);justify-content:space-evenly;padding:10px;gap:8px}.mobile-nav a{font-weight:650;color:var(--purple);font-size:12px;padding:5px}.content{padding:23px 16px 40px}.page-heading{align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:21px}.page-heading h1{font-size:25px}.page-heading>.btn{width:100%}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat{padding:13px;min-height:135px}.stat-icon{width:29px;height:29px;font-size:17px;margin-bottom:10px}.stat>strong{font-size:27px}.stat>span{font-size:10px;line-height:1.25}.stat>small{font-size:9px}.panel-heading{padding:19px}.panel-heading h2{font-size:16px}.panel-heading .text-link{font-size:11px}.search-row{padding:15px;flex-wrap:wrap}.search-row input{flex-basis:100%}.form-grid{padding:20px;gap:17px}.form-grid.two-col{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.detail-fields{padding:6px 19px 22px}.patient-info>.text-link{margin:0 19px}.filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 17px 20px}.timeline{padding:4px 18px 10px}td,th{padding:14px 15px}.auth-card{padding:24px}.auth-brand{font-size:14px}.setup-user .form-grid{padding:15px}.form-actions{flex-wrap:wrap}.form-actions .btn{flex:1}}
@media(max-width:390px){.stat-grid{grid-template-columns:1fr}.stat{min-height:0}.stat-icon{float:right}.filters{grid-template-columns:1fr}.page-heading h1{font-size:23px}}

/* NOETRIVA v2: logó, kezelőszínek, törlés */
.brand-logo{display:block;width:44px;height:44px;object-fit:contain;flex-shrink:0;border-radius:7px}
.mobile-logo{height:34px;max-width:82px;object-fit:contain}
.auth-logo{height:52px;max-width:130px;object-fit:contain}
.topbar-brand-link{color:var(--purple);font-weight:700;font-size:12px;border:1px solid #e7e4f4;border-radius:8px;padding:7px 10px}
.topbar-brand-link:hover{background:#f4f1fc}
.worker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}
.worker-card{margin:0;min-width:0}
.worker-heading{display:flex;align-items:center;gap:14px;padding:24px 24px 0}
.worker-heading .author-indicator{width:20px;height:20px;flex:0 0 auto}
.worker-heading h2{font-size:19px;margin:3px 0}
.worker-heading p{font-size:12px;color:var(--muted);margin:4px 0 0}
.worker-card .form-grid{padding:20px 24px 24px}
.color-input{height:49px;min-height:49px;padding:4px!important;max-width:130px;cursor:pointer}
.entry-card{border:1px solid color-mix(in srgb,var(--handler-color,#7b70c2) 25%,white);border-left:5px solid var(--handler-color,#7b70c2);background:color-mix(in srgb,var(--handler-color,#7b70c2) 7%,white);padding:17px 19px 18px;border-radius:10px}
.timeline-item{padding-left:28px;padding-bottom:16px}
.timeline-item .timeline-dot{background:var(--handler-color,#8171d1);border-color:#fff}
.entry-author{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:10px}
.author-indicator{display:inline-block;background:var(--handler-color,#8171d1);width:11px;height:11px;border-radius:50%;flex-shrink:0}
.entry-author strong{font-size:14px;color:#22263b}
.author-role{font-size:11px;color:#656c80}
.entry-top h3{margin:5px 0 7px}
.entry-sections{padding-top:11px;margin-top:14px;border-top:1px solid #e8e8f0}
.entry-footer{border-top:1px solid #e9e9ef;padding-top:10px}
.delete-shortcut{padding:18px 27px 0;margin-top:19px;border-top:1px solid #f1e5e7}
.delete-shortcut a{color:#af4351;font-weight:700;font-size:12px}
.danger-note{padding:20px 26px;background:#fff3f3;color:#8c3441;line-height:1.7;font-size:13px}
.btn.danger{background:#a93245;color:white}
.btn.danger:hover{background:#832634}
.logo-preview{margin:22px 26px 0;padding:22px;display:flex;align-items:center;gap:15px;border-radius:12px;background:#f6f5fa;min-height:96px}
.logo-preview img{max-width:300px;max-height:100px;object-fit:contain}
.logo-preview p{color:#818499;font-size:12px}
.field-hint{font-size:12px;color:var(--muted);margin:0;line-height:1.6}
@media(max-width:850px){.worker-grid{grid-template-columns:1fr}}
@media(max-width:730px){.topbar-brand-link{padding:5px 7px}.topbar-profile{gap:7px}.mobile-nav{flex-wrap:wrap}.worker-heading{padding:20px 20px 0}.worker-card .form-grid{padding:20px}.entry-card{padding:14px}.entry-author{gap:7px}.delete-shortcut{padding:15px 20px 0;margin-top:15px}}

.header-logo{height:30px;max-width:115px;object-fit:contain;display:block}

/* NOETRIVA v3: dual SVG branding and one-line KLIENSNAPLÓ caption */
.sidebar .brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;margin:0 0 55px;padding:0 8px;min-height:92px;text-align:center;width:100%}
.brand-graphic{width:100%;display:flex;align-items:center;justify-content:center;min-height:45px}
.sidebar .brand-logo{display:block;width:auto;max-width:100%;height:auto;max-height:78px;object-fit:contain;border-radius:0}
.brand-caption{display:block;color:#e5e4f2;font-size:10px;font-weight:700;letter-spacing:.26em;line-height:1.5;text-align:center}
.auth-brand{flex-direction:column;gap:12px;margin-bottom:31px}
.auth-logo{max-height:115px;height:auto;max-width:285px;width:auto;object-fit:contain}
.auth-brand small{display:block;color:#696882;letter-spacing:.28em;font-size:11px;font-weight:800}
.mobile-brand-stack{display:flex;flex-direction:column;align-items:center;gap:3px;max-width:128px}
.mobile-brand-stack small{font-weight:800;letter-spacing:.18em;font-size:8px;color:#666a80;line-height:1.3}
.mobile-logo{width:auto;max-width:115px;max-height:32px;height:auto;border-radius:0}
.header-logo{height:auto;max-height:42px;width:auto;max-width:185px;object-fit:contain}
.topbar-brand-link{display:flex;align-items:center;justify-content:center;padding:6px 9px;margin-left:0!important;min-height:44px}
.branding-panel{max-width:1000px}
.branding-intro{margin:0;padding:23px 26px 10px;color:var(--muted);font-size:13px;line-height:1.7}
.branding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;padding:15px 25px 23px}
.branding-slot{border:1px solid var(--border);border-radius:13px;padding:18px;min-width:0}
.branding-slot h3{font-size:17px;margin:0 0 5px}
.branding-slot>p{min-height:38px;margin:0 0 12px;font-size:12px;color:var(--muted);line-height:1.6}
.branding-slot .logo-preview{margin:0;padding:20px;min-height:155px;display:flex;justify-content:center;align-items:center;border-radius:12px}
.branding-slot .logo-preview img{max-height:110px;max-width:100%;object-fit:contain}
.branding-slot .logo-preview-light{background:#f8f8fa;border:1px solid #ececf0}
.branding-slot .logo-preview-dark{background:var(--side);border:1px solid #444961}
.branding-form{display:grid;gap:13px;margin-top:16px}
.branding-form .btn{justify-self:start}
.branding-remove{margin-top:8px}
.branding-help{padding:0 25px 24px;margin:0;color:var(--muted);font-size:12px;line-height:1.7}
@media(max-width:850px){.branding-grid{grid-template-columns:1fr}.branding-slot>p{min-height:0}}
@media(max-width:730px){.topbar-brand-link{display:none}.header-logo{max-width:105px;max-height:30px}.mobile-brand-stack{max-width:100px}.mobile-logo{max-width:96px;max-height:26px}.branding-grid{padding:14px}.branding-intro{padding:18px 17px 9px}.branding-help{padding:0 17px 20px}.auth-logo{max-width:245px;max-height:100px}}

/* A jobb felső fejlécben kizárólag a feltöltött SVG-logó látható. */
.topbar-brand-link{flex-direction:row;gap:0}

/* NOETRIVA 3.2 — fejléc SVG-logó: biztos méret, keret és háttér nélkül.
   A feltöltött SVG lehet százalékos width/height attribútummal;
   ezért nem használunk width:auto méretezést a flex-elrendezésben. */
.topbar-profile .topbar-brand-link {
  display:flex; align-items:center; justify-content:center;
  flex:0 0 186px; width:186px; height:52px; min-width:186px;
  margin:0; padding:0; border:0; border-radius:0;
  background:transparent; box-shadow:none; text-decoration:none;
}
.topbar-profile .topbar-brand-link:hover,
.topbar-profile .topbar-brand-link:active {
  background:transparent; border:0; box-shadow:none;
}
.topbar-profile .topbar-brand-link .header-logo {
  display:block; width:186px; height:48px; max-width:none; max-height:none;
  flex:0 0 186px; min-width:186px; object-fit:contain;
  object-position:center center; border:0; border-radius:0;
  background:transparent; box-shadow:none;
}
@media (min-width:731px) and (max-width:950px) {
  .topbar-profile .topbar-brand-link { flex-basis:145px; width:145px; min-width:145px; height:44px; }
  .topbar-profile .topbar-brand-link .header-logo { width:145px; min-width:145px; flex-basis:145px; height:39px; }
}
