@font-face{font-family:Slussen;src:url('../fonts/Slussen-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Slussen;src:url('../fonts/Slussen-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}

:root{
    --bg:#f5f4f1;
    --surface:#ffffff;
    --surface-soft:#faf9f7;
    --ink:#20242b;
    --muted:#6d7480;
    --line:#e2e0db;
    --line-strong:#cac7c0;
    --chrome:#20252d;
    --chrome-2:#292f38;
    --chrome-3:#343b45;
    --accent:#eb5b2a;
    --accent-dark:#c94318;
    --accent-soft:#fff0e9;
    --blue:#316f9f;
    --green:#27805b;
    --yellow:#a87320;
    --red:#bd4545;
    --radius:14px;
    --radius-sm:9px;
    --shadow:0 10px 28px rgba(32,36,43,.07);
}

*{box-sizing:border-box}
html{min-height:100%;scroll-behavior:smooth}
body{min-height:100vh;margin:0;background:var(--bg);color:var(--ink);font-family:Slussen,Arial,sans-serif;font-size:16px;line-height:1.45}
h1,h2,h3{font-weight:700}
strong,b{font-weight:400}
a{color:inherit}
img{max-width:100%}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{transition:border-color .15s,background-color .15s,color .15s,box-shadow .15s,transform .15s}

/* Belépés */
body.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 22px;background:#151a20;color:#fff}
.login-layout{width:min(660px,100%);margin:auto}
.login-logo-wrap{display:flex;justify-content:center;margin:0 0 28px}
.login-logo{display:block;width:min(430px,80vw);height:auto}
.login-panel{padding:38px 44px 42px;border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 28px 70px rgba(0,0,0,.28)}
.login-heading{text-align:center;margin-bottom:28px}
.login-eyebrow{display:block;margin-bottom:6px;color:var(--accent);font-size:13px;font-weight:500;letter-spacing:.13em;text-transform:uppercase}
.login-heading h1{margin:0;font-size:38px;line-height:1.1;letter-spacing:-.025em}
.login-heading p{margin:10px 0 0;color:var(--muted);font-size:17px}
.login-form label{display:block;margin:18px 0 8px;color:#424851;font-size:14px;font-weight:400}
.input-wrap{position:relative}
.input-wrap svg{position:absolute;left:16px;top:50%;width:22px;height:22px;transform:translateY(-50%);fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.login-form input{width:100%;height:54px;padding:0 16px 0 50px;border:1px solid #cfd2d6;border-radius:10px;background:#fff;color:var(--ink);font-size:17px;outline:0}
.login-form input:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(235,91,42,.12)}
.login-form button{width:100%;height:56px;margin-top:25px;border:0;border-radius:10px;background:var(--accent);color:#fff;font-size:17px;font-weight:500;cursor:pointer}
.login-form button:hover{background:var(--accent-dark)}
.login-back-link{display:block;margin-top:20px;color:var(--muted);text-align:center;text-decoration:none}
.login-back-link:hover{color:var(--accent)}
.login-form .code-input{padding-left:18px;text-align:center;font-size:28px;letter-spacing:.28em;font-weight:700}
.trusted-device-option{display:flex!important;align-items:flex-start;gap:10px;margin-top:17px!important;color:#555d67!important;cursor:pointer}
.trusted-device-option input{width:18px!important;height:18px!important;margin:2px 0 0!important;padding:0!important;accent-color:var(--accent)}
.trusted-device-option span{font-size:14px}.trusted-device-option small{display:block;margin-top:3px;color:var(--muted);font-size:12px;font-weight:400}
.trusted-device-summary{margin:0 0 16px;padding:14px 16px;border:1px solid #f0c4b3;border-radius:10px;background:var(--accent-soft);color:#68331f}
.trusted-device-summary strong,.trusted-device-summary span{display:block}.trusted-device-summary span{margin-top:3px;font-size:13px}
.app-footer.login-footer{width:100%;margin-top:22px;padding:0;border:0;background:transparent;color:#8e949c;font-size:12px;text-align:center}

/* Alkalmazáskeret */
.app-topbar{position:sticky;top:0;z-index:1000;height:82px;display:flex;align-items:center;gap:20px;padding:0 26px;background:var(--chrome);color:#fff;border-bottom:3px solid var(--accent)}
.sidebar-toggle{display:none;width:42px;height:42px;padding:0;border:1px solid #454b55;border-radius:9px;background:transparent;color:#fff;font-size:22px;cursor:pointer}
.app-brand{width:58px;min-width:58px;height:58px;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none}
.app-brand img{display:block;width:54px;height:54px;object-fit:contain}
.app-motto{flex:1;color:#8f97a2;font-size:13px;font-weight:400;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}
.topbar-context{display:flex;align-items:center;gap:13px}
.project-context{display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid #414852;border-radius:9px;background:#292f38;color:#f4f5f6;font-size:13px;font-weight:400;white-space:nowrap}
.project-context small{color:#9fa6af;font-size:10px;text-transform:uppercase}
.notification-button{position:relative;width:42px;height:42px;display:grid;place-items:center;border-radius:9px;color:#dfe2e6;text-decoration:none}
.notification-button:hover{background:#303741;color:#fff}
.notification-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.notification-button b{position:absolute;right:1px;top:1px;min-width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-size:10px}
.topbar-profile{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none}
.topbar-profile>span{display:flex;flex-direction:column;text-align:right;line-height:1.2}
.topbar-profile strong{font-size:14px}.topbar-profile small{margin-top:3px;color:#9fa6af;font-size:11px}
.topbar-profile i{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#fff;color:var(--chrome);font-style:normal;font-weight:700}
.app-shell{min-height:calc(100vh - 82px);display:grid;grid-template-columns:252px minmax(0,1fr);background:var(--bg)}
.app-sidebar{position:sticky;top:82px;z-index:900;height:calc(100vh - 82px);display:flex;flex-direction:column;padding:24px 14px 16px;background:var(--chrome-2);color:#e3e5e8}
.sidebar-heading{padding:0 12px 14px;color:#9199a3;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.app-sidebar nav{display:flex;flex-direction:column;gap:6px}
.app-sidebar a{position:relative;min-height:48px;display:flex;align-items:center;gap:13px;padding:10px 12px;border-radius:10px;color:#cbd0d6;font-size:15px;font-weight:400;text-decoration:none}
.app-sidebar a:before{content:'';position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:99px;background:transparent}
.app-sidebar a:hover{background:var(--chrome-3);color:#fff}
.app-sidebar a[aria-current=page]{background:#383f49;color:#fff;font-weight:500}
.app-sidebar a[aria-current=page]:before{background:var(--accent)}
.app-sidebar svg{width:21px;height:21px;flex:0 0 auto;fill:none;stroke:#7d8792;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-sidebar a:hover svg,.app-sidebar a[aria-current=page] svg{stroke:var(--accent)}
.app-sidebar a b{margin-left:auto;min-width:20px;height:20px;display:grid;place-items:center;border-radius:99px;background:var(--accent);color:#fff;font-size:10px}
.sidebar-admin{margin-top:auto;padding-top:14px;border-top:1px solid #414751}
.sidebar-admin>a{margin-bottom:5px}
.sidebar-admin form{margin:10px 0 0}.sidebar-admin form input{display:none}
.sidebar-admin button{width:100%;height:42px;border:1px solid #4b525d;border-radius:9px;background:transparent;color:#bfc5cc;font-size:13px;font-weight:400;cursor:pointer}
.sidebar-admin button:hover{border-color:#81503f;background:#382c28;color:#fff}
.sidebar-backdrop{display:none}
.app-content-area{min-width:0;display:flex;flex-direction:column;background:var(--bg)}
.app-content-area>main,.app-content-area>.content{flex:1}
.app-footer{margin-top:auto;padding:17px 24px;border-top:1px solid var(--line);background:#eceae6;color:#8a8d92;font-size:12px;text-align:center}
.empty-dashboard{width:100%;min-height:calc(100vh - 82px - 51px)}

/* Általános tartalom */
.content,.dashboard-main{width:min(1420px,calc(100% - 48px));margin:0 auto;padding:34px 0}.wide-content{width:min(1420px,calc(100% - 48px))}
.panel,.surface-card,.dashboard-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}
.panel{padding:28px}
.module-header,.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}
.module-header>div:first-child,.page-heading>div:first-child{min-width:0}
.module-header h1,.page-heading h1{margin:4px 0 6px;color:var(--ink);font-size:38px;line-height:1.08;letter-spacing:-.035em}
.module-header p,.page-heading p{max-width:760px;margin:0;color:var(--muted);font-size:16px}
.hero-kicker,.section-kicker{display:block;color:var(--accent);font-size:12px;font-weight:500;letter-spacing:.13em;text-transform:uppercase}
.module-actions,.page-actions,.detail-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.record-count{padding:10px 14px;border-radius:99px;background:#f0efec;color:#686c72;font-size:13px;font-weight:400;white-space:nowrap}
.button,.small-button,.secondary-button,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.button,.small-button{min-height:44px;padding:10px 17px;border:0;border-radius:9px;background:var(--accent);color:#fff;font-weight:500;cursor:pointer}
.button:hover,.small-button:hover{background:var(--accent-dark);transform:translateY(-1px)}
.secondary-button{min-height:44px;padding:10px 17px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;color:#424850;font-weight:400;cursor:pointer}
.secondary-button:hover{background:#f4f3f0;border-color:#a9a69f}
.success-message,.form-errors,.error{margin-bottom:18px;padding:14px 16px;border-radius:10px;font-weight:400}
.success-message{border:1px solid #b8dfca;background:#edf8f2;color:#246544}
.form-errors,.error{border:1px solid #e6bebe;background:#fff0f0;color:#8f3535}
.empty-panel,.empty-state{padding:44px 24px;border:1px dashed #c8c5be;border-radius:12px;background:var(--surface-soft);color:var(--muted);text-align:center}
.empty-state h2{margin:0 0 7px;color:var(--ink)}.empty-state p{margin:0}.empty-state .button{margin-top:16px}
.empty-value{color:#a0a4aa;font-style:italic;font-weight:400}

/* Szűrők és táblázatok */
.filters-bar,.service-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:0 0 16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#eeece8}
.filters-bar label,.service-filters label{flex:1;min-width:180px;margin:0;color:#555b64;font-size:12px;font-weight:400;letter-spacing:.04em;text-transform:uppercase}
.filters-bar input,.filters-bar select,.service-filters input,.service-filters select{width:100%;height:44px;margin-top:7px;padding:0 12px;border:1px solid #c9c6bf;border-radius:8px;background:#fff;color:var(--ink);outline:0}
.filters-bar input:focus,.filters-bar select:focus,.service-filters input:focus,.service-filters select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(235,91,42,.11)}
.filters-bar button,.service-filters button{height:44px;padding:0 18px;border:0;border-radius:8px;background:var(--chrome);color:#fff;font-weight:500;cursor:pointer}
.filters-bar button:hover,.service-filters button:hover{background:#343b45}
.filter-reset{height:44px;display:inline-flex;align-items:center;color:var(--muted);font-size:14px;font-weight:400;text-decoration:none}.filter-reset:hover{color:var(--accent)}
.data-table-wrap,.user-table-wrap,.service-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
.data-table,.user-table,.service-table{width:100%;min-width:780px;border-collapse:collapse;background:#fff}
.data-table th,.data-table td,.user-table th,.user-table td,.service-table th,.service-table td{padding:15px 16px;border-bottom:1px solid #eceae6;text-align:left;vertical-align:middle}
.data-table th,.user-table th,.service-table th{background:#f4f3f0;color:#5e646c;font-size:11px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.data-table td,.user-table td,.service-table td{color:#333840;font-size:14px}
.data-table tbody tr:last-child td,.user-table tbody tr:last-child td,.service-table tbody tr:last-child td{border-bottom:0}
.data-table tbody tr:hover,.user-table tbody tr:hover,.service-table tbody tr:hover{background:#fbfaf8}
.data-table a,.table-link,.inline-link,.file-link{color:var(--accent-dark);font-weight:400;text-decoration:none}.data-table a:hover,.table-link:hover,.inline-link:hover,.file-link:hover{color:var(--accent)}
.data-table small,.user-table small,.service-table small{color:var(--muted)}
.inline-actions,.table-actions{display:flex;align-items:center;gap:11px;white-space:nowrap}.inline-actions form,.table-actions form{margin:0}
.inline-actions button,.table-link,.danger-link{width:auto;height:auto;min-height:0;margin:0;padding:0;border:0;background:transparent;color:var(--accent-dark);font-size:13px;font-weight:400;cursor:pointer;text-transform:none}
.inline-actions button:hover,.table-link:hover{background:transparent;color:var(--accent)}.inline-actions .danger,.danger-link{color:var(--red)}

/* Státuszok */
.status-pill,.status-badge,.role-badge,.security-on,.security-off,.category-badge,.self-label{display:inline-flex;align-items:center;padding:6px 9px;border-radius:99px;font-size:11px;font-weight:500;line-height:1;text-transform:uppercase;white-space:nowrap}
.status-pill.elokeszites,.status-pill.tervezet,.status-pill.nyitott,.role-badge.user,.security-off{background:#edf2f6;color:#41627b}
.status-pill.folyamatban,.status-pill.ellenorzes,.status-pill.kikuldve{background:#fff4dc;color:#885f1c}
.status-pill.lezart,.status-pill.elkeszult,.status-pill.elfogadva,.status-pill.alairva,.status-badge.active,.security-on{background:#e9f6ef;color:#246947}
.status-pill.szunetel,.status-pill.elutasitva,.status-pill.lejart,.status-pill.overdue,.status-badge.inactive{background:#fdecec;color:#953d3d}
.role-badge.admin{background:var(--accent-soft);color:#9b3c19}.self-label{margin-left:7px;background:#f0efec;color:#787b80}
.status-pill.kesz,.status-pill.lezart{background:#e9f6ef;color:#246947}.status-pill.blokkolt,.status-pill.elmaradt{background:#fdecec;color:#953d3d}.status-pill.nem_relevans{background:#efefef;color:#777}.status-pill.tervezett{background:#edf2f6;color:#41627b}
.priority-kritikus,.priority-magas{color:var(--red);font-weight:500}.priority-kozepes{color:var(--yellow);font-weight:500}
.progress-track{height:7px;overflow:hidden;border-radius:99px;background:#e6e4df}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--green)}

/* Űrlapok */
.form-card{padding:26px}.management-form-grid,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.management-form-grid .span-2,.form-grid .span-2{grid-column:span 2}
.management-form label,.worker-form label,.account-form label{display:block;margin:0;color:#4b5159;font-size:14px;font-weight:400}
.management-form input,.management-form select,.management-form textarea,.worker-form input,.worker-form select,.worker-form textarea,.account-form input{width:100%;margin-top:8px;padding:12px 13px;border:1px solid #cbc8c1;border-radius:8px;background:#fff;color:var(--ink);outline:0}
.management-form input,.management-form select,.worker-form input,.worker-form select,.account-form input{min-height:47px}
.management-form textarea,.worker-form textarea{resize:vertical;line-height:1.5}
.management-form input:focus,.management-form select:focus,.management-form textarea:focus,.worker-form input:focus,.worker-form select:focus,.worker-form textarea:focus,.account-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(235,91,42,.11)}
.form-section{margin-bottom:18px;padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.form-section h2{margin:0 0 18px;font-size:20px}.section-title-row,.security-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-title-row h2,.security-heading h2{margin:0}
.section-help{margin:-8px 0 17px;color:var(--muted);font-size:14px}.field-label{display:block;margin-bottom:8px;color:#4b5159;font-size:14px;font-weight:400}
.radio-row,.switch-row{display:flex!important;align-items:center;gap:18px;min-height:47px}.radio-row label,.switch-row{font-weight:400!important}.radio-row input,.switch-row input{width:18px!important;min-height:18px!important;height:18px!important;margin:0!important;padding:0!important;accent-color:var(--accent)}
.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.form-actions button{min-width:150px;min-height:46px;padding:10px 18px;border:0;border-radius:9px;background:var(--accent);color:#fff;font-weight:500;cursor:pointer}.form-actions button:hover{background:var(--accent-dark)}
.custom-fields{display:flex;flex-direction:column;gap:10px}.custom-field-row{display:grid;grid-template-columns:1fr 1.5fr auto;gap:10px}.custom-field-row input{margin:0}.remove-field{padding:0 13px;border:1px solid #e1bcbc;border-radius:8px;background:#fff1f1;color:#963e3e;font-weight:400;cursor:pointer}.remove-field:hover{background:#fbe2e2}
.current-photo{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.current-photo img{width:58px;height:58px;border-radius:10px;object-fit:cover}

/* Dolgozók */
.workers-list{display:flex;flex-direction:column;gap:11px}.worker-list-row{position:relative;display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(210px,.8fr) auto auto;align-items:center;gap:18px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-decoration:none}
.worker-list-row:hover{border-color:#c8b8af;box-shadow:0 8px 20px rgba(32,36,43,.06);transform:translateY(-1px)}
.worker-photo{display:grid;place-items:center;overflow:hidden;background:var(--chrome-2);color:#fff;font-weight:500}.worker-photo img{width:100%;height:100%;object-fit:cover}.worker-photo.small{width:58px;height:58px;border-radius:12px;font-size:17px}.worker-photo.large{width:124px;height:124px;border-radius:18px;font-size:32px}
.worker-list-main h2{margin:0 0 5px;font-size:18px}.worker-list-sub{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:13px}.worker-list-contact strong,.worker-list-contact span{display:block;overflow-wrap:anywhere}.worker-list-contact strong{font-size:14px}.worker-list-contact span{margin-top:3px;color:var(--muted);font-size:13px}.row-arrow{color:var(--accent);font-size:28px}
.detail-actions{justify-content:space-between;margin-bottom:14px}.back-link{display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;border-radius:9px;background:var(--chrome-2);color:#fff;font-weight:400;text-decoration:none}.back-link:hover{background:var(--chrome-3)}
.worker-card.detail-card{padding:26px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.worker-top{display:flex;align-items:center;gap:20px}.detail-top{padding-bottom:24px;border-bottom:1px solid var(--line)}.worker-main{min-width:0;flex:1}.worker-main h1{margin:4px 0 6px;font-size:34px;line-height:1.1}.worker-role{font-weight:400}.worker-department{margin-top:3px;color:var(--muted)}
.data-section{margin-top:18px;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.data-section h3{margin:0 0 14px;color:#515761;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.data-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.data-row{padding:12px;border-radius:9px;background:#fff}.data-row span{display:block;margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:400;text-transform:uppercase}.data-row strong{display:block;overflow-wrap:anywhere;font-size:14px}.worker-notes{margin-top:18px;padding:17px;border-radius:11px;background:var(--chrome-2);color:#e6e9ec}.worker-notes span{display:block;margin-bottom:5px;color:#f6a182;font-size:11px;font-weight:500;text-transform:uppercase}

/* Szolgáltatások */
.service-filters{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(190px,.8fr) minmax(130px,.5fr) auto auto}.service-table{min-width:1120px}.service-name-cell{min-width:270px}.service-name-cell strong,.service-name-cell small,.service-table td>small{display:block}.service-name-cell strong{margin-top:4px;color:var(--ink);font-size:15px;font-weight:500}.service-name-cell small,.service-table td>small{margin-top:4px;color:var(--muted);line-height:1.35}.service-code{color:var(--accent);font-size:11px;font-weight:500;letter-spacing:.07em}.category-badge{background:#edf1f3;color:#4c626f;text-transform:none}.price-cell{text-align:right;font-weight:400;white-space:nowrap}.gross-price{color:var(--green);font-weight:500}.vat-cell{text-align:center;white-space:nowrap}
.price-editor-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,.45fr) minmax(220px,1fr);gap:14px}.fixed-vat,.gross-preview{display:flex;flex-direction:column;justify-content:center;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fff}.fixed-vat span,.gross-preview span{color:var(--muted);font-size:11px;font-weight:400;text-transform:uppercase}.fixed-vat strong,.gross-preview strong{margin-top:5px;color:var(--accent);font-size:24px;font-weight:700}.service-active-switch{margin-top:16px}

/* Projekt- és dokumentumoldalak */
.detail-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.65fr);gap:16px}.detail-summary{padding:22px}.definition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.definition-item{padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.definition-item small{display:block;color:var(--muted);font-size:10px;font-weight:400;letter-spacing:.05em;text-transform:uppercase}.definition-item strong{display:block;margin-top:5px}.notes-block{margin-top:14px;padding:15px;border-left:3px solid var(--accent);border-radius:0 9px 9px 0;background:var(--accent-soft);color:#5b4035;white-space:pre-wrap}.dashboard-card-header{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-bottom:1px solid var(--line)}.dashboard-card-header h2{margin:0;font-size:16px}.dashboard-card-header a{color:var(--accent-dark);font-size:13px;font-weight:400;text-decoration:none}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:16px}.dashboard-list{list-style:none;margin:0;padding:0}.dashboard-list li{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line);font-size:13px}.dashboard-list li:last-child{border-bottom:0}.dashboard-list time{color:var(--muted)}.dashboard-list small{display:block;margin-top:2px;color:var(--muted)}.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:14px}.quick-links a{padding:12px 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);color:#454b54;font-size:13px;font-weight:400;text-align:center;text-decoration:none}.quick-links a:hover{border-color:#dfb5a5;background:var(--accent-soft);color:var(--accent-dark)}

/* Felhasználók és fiók */
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.account-identity{min-width:240px;padding:15px 17px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.account-identity strong,.account-identity span{display:block}.account-identity span{margin-top:4px;color:var(--muted);font-size:13px}.account-form button{width:100%;min-height:46px;margin-top:20px;border:0;border-radius:9px;background:var(--accent);color:#fff;font-weight:500;cursor:pointer}.account-form button:hover{background:var(--accent-dark)}.setup-steps{padding-left:22px;color:var(--muted);line-height:1.65}.secret-box{padding:17px;border:1px solid #e9c4b5;border-radius:10px;background:var(--accent-soft);text-align:center}.secret-box code{display:block;color:#8f391b;font-size:18px;letter-spacing:.08em;overflow-wrap:anywhere}.secret-box span{display:block;margin-top:7px;color:var(--muted);font-size:12px}.technical-key{margin-top:12px;color:var(--muted)}.technical-key code{display:block;margin-top:7px;padding:10px;border-radius:8px;background:#efede9;overflow-wrap:anywhere}.danger-zone button{background:var(--red)}.danger-zone button:hover{background:#9e3838}

/* Projektfolyamat és meeting agenda */
.workflow-summary{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:10px;margin-bottom:14px}.workflow-stat{padding:15px 16px;border:1px solid var(--line);border-radius:11px;background:#fff}.workflow-stat span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.workflow-stat strong{display:block;margin-top:4px;font-size:25px;font-weight:700}.workflow-stat.is-done{border-color:#bedfcb;background:#f2faf5}.workflow-stat.is-progress{border-color:#ead29c;background:#fff9e9}.workflow-stat.is-blocked,.workflow-stat.is-overdue{border-color:#ebc2c2;background:#fff3f3}.workflow-stat.is-completion{border-color:#f0c6b6;background:var(--accent-soft);color:var(--accent-dark)}
.workflow-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:14px;padding:0}.workflow-meta>div{padding:16px 18px;border-right:1px solid var(--line)}.workflow-meta>div:last-child{border-right:0}.workflow-meta span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.workflow-meta strong{display:block;margin-top:5px;font-size:14px}
.workflow-list{overflow:hidden}.workflow-row{display:grid;grid-template-columns:42px minmax(280px,1.45fr) minmax(170px,.75fr) 120px 170px minmax(210px,.9fr) 90px;gap:16px;align-items:start;padding:18px;border-bottom:1px solid var(--line);border-left:4px solid #aeb8c2}.workflow-row:last-child{border-bottom:0}.workflow-row.status-folyamatban{border-left-color:var(--yellow)}.workflow-row.status-kesz{border-left-color:var(--green)}.workflow-row.status-blokkolt,.workflow-row.is-overdue{border-left-color:var(--red)}.workflow-row.status-nem_relevans{opacity:.65}.workflow-sequence{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:var(--chrome-2);color:#fff}.workflow-phase>span,.workflow-responsibility span,.workflow-dates span,.workflow-details span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.workflow-phase h2{margin:2px 0 5px;font-size:18px}.workflow-phase p,.workflow-phase small,.workflow-details p{margin:0}.workflow-phase small{display:block;margin-top:5px;color:var(--muted);font-size:12px}.workflow-responsibility strong,.workflow-dates strong{display:block;margin:3px 0 11px;font-size:13px}.workflow-dates em{display:inline-block;margin-top:3px;color:var(--red);font-size:11px}.workflow-status-edit label{display:block;margin-bottom:8px;color:var(--muted);font-size:11px}.workflow-status-edit select,.workflow-status-edit input{width:100%;height:36px;margin-top:3px;padding:0 8px;border:1px solid var(--line-strong);border-radius:7px;background:#fff}.workflow-status-edit label:nth-child(2){position:relative}.workflow-status-edit label:nth-child(2) span{position:absolute;right:9px;bottom:9px;color:var(--muted)}.workflow-status-edit .progress-track{margin-top:10px}.workflow-details p{margin:2px 0 8px;font-size:12px;line-height:1.35}.workflow-row-actions{display:flex;flex-direction:column;gap:9px;align-items:flex-end;color:var(--muted);font-size:11px}.workflow-row-actions a{color:var(--accent-dark);text-decoration:none}.sticky-save-bar{position:sticky;bottom:12px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:14px 0;padding:12px 14px 12px 18px;border:1px solid var(--line-strong);border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 12px 32px rgba(32,36,43,.14);color:var(--muted);font-size:13px}
.project-workflow-card{margin:16px 0}.project-workflow-card .dashboard-card-header p{margin:4px 0 0;color:var(--muted);font-size:12px}.phase-strip{display:flex;gap:8px;overflow-x:auto;padding:14px}.phase-step{min-width:116px;display:grid;grid-template-columns:28px 1fr;gap:7px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);text-decoration:none}.phase-step i{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:#aeb8c2;color:#fff;font-style:normal;font-size:12px}.phase-step span{font-size:12px;line-height:1.2}.phase-step small{grid-column:2;color:var(--muted)}.phase-step.status-kesz i{background:var(--green)}.phase-step.status-folyamatban i{background:var(--yellow)}.phase-step.status-blokkolt i{background:var(--red)}
.meeting-list,.meeting-agenda-editor{display:flex;flex-direction:column;gap:12px}.meeting-list-item{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px}.meeting-list-item h2{margin:3px 0;font-size:19px}.meeting-list-item h2 a{text-decoration:none}.meeting-list-item p{margin:0;color:var(--muted);font-size:13px}.meeting-list-meta{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:12px}.meeting-list-meta>a{color:var(--accent-dark);text-decoration:none}.agenda-editor-heading{margin:24px 0 12px}.agenda-editor-heading h2{margin:3px 0 0}.agenda-editor-item{padding:20px}.agenda-item-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.meeting-agenda-table{margin-top:14px}.meeting-agenda-table .data-table{min-width:1300px}.meeting-agenda-table td{vertical-align:top}

/* Reszponzív */
@media(max-width:1350px){.app-motto{display:none}}
@media(max-width:1180px){.dashboard-layout{grid-template-columns:1fr}.service-filters{grid-template-columns:1fr 1fr}.worker-list-row{grid-template-columns:auto minmax(200px,1fr) auto}.worker-list-contact{grid-column:2/-1}.workflow-summary{grid-template-columns:repeat(4,1fr)}.workflow-row{grid-template-columns:42px minmax(250px,1.4fr) minmax(160px,.8fr) 120px 160px}.workflow-details{grid-column:2/5}.workflow-row-actions{grid-column:5}.workflow-meta{grid-template-columns:repeat(2,1fr)}.workflow-meta>div:nth-child(2){border-right:0}.workflow-meta>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:900px){.sidebar-toggle{display:grid;place-items:center}.app-brand{width:52px;min-width:52px;margin-right:auto}.app-brand img{width:48px;height:48px}.project-context{display:none}.app-shell{display:block}.app-sidebar{position:fixed;left:0;top:82px;width:270px;transform:translateX(-102%);transition:transform .2s;box-shadow:12px 0 32px rgba(0,0,0,.2)}.sidebar-open .app-sidebar{transform:translateX(0)}.sidebar-open .sidebar-backdrop{position:fixed;inset:82px 0 0;z-index:850;display:block;background:rgba(20,24,29,.48)}.settings-grid,.detail-grid{grid-template-columns:1fr}.definition-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){body.login-page{padding:22px 14px}.login-panel{padding:28px 20px 31px;border-radius:15px}.login-heading h1{font-size:32px}.app-topbar{height:72px;padding:0 13px;gap:10px}.app-brand{width:46px;min-width:46px}.app-brand img{width:44px;height:44px}.topbar-profile>span,.notification-button{display:none}.topbar-profile i{width:40px;height:40px}.app-sidebar{top:72px;height:calc(100vh - 72px)}.sidebar-open .sidebar-backdrop{inset:72px 0 0}.content,.dashboard-main,.wide-content{width:min(100% - 24px,1420px);padding:22px 0}.panel{padding:20px}.module-header,.page-heading{flex-direction:column}.module-header h1,.page-heading h1{font-size:32px}.module-actions,.page-actions{width:100%}.management-form-grid,.form-grid,.definition-grid,.data-grid,.data-grid.compact,.settings-grid,.price-editor-grid{grid-template-columns:1fr}.management-form-grid .span-2,.form-grid .span-2{grid-column:auto}.form-section{padding:17px}.service-filters{grid-template-columns:1fr}.worker-list-row{grid-template-columns:58px minmax(0,1fr);gap:12px}.worker-list-contact{grid-column:1/-1}.worker-list-row .status-badge{grid-column:1/2}.row-arrow{grid-column:2;grid-row:3}.worker-top{align-items:flex-start;flex-direction:column}.custom-field-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions button,.form-actions .secondary-button{width:100%}.dashboard-list li{grid-template-columns:70px minmax(0,1fr)}.dashboard-list li>:last-child{grid-column:2}.quick-links{grid-template-columns:1fr 1fr}.app-footer{font-size:11px}.workflow-summary{grid-template-columns:repeat(2,1fr)}.workflow-stat.is-completion{grid-column:1/-1}.workflow-meta{grid-template-columns:1fr}.workflow-meta>div{border-right:0;border-bottom:1px solid var(--line)}.workflow-meta>div:last-child{border-bottom:0}.workflow-row{grid-template-columns:36px 1fr;gap:12px}.workflow-phase,.workflow-responsibility,.workflow-dates,.workflow-status-edit,.workflow-details,.workflow-row-actions{grid-column:2}.workflow-row-actions{align-items:flex-start;flex-direction:row}.sticky-save-bar{position:static;align-items:stretch;flex-direction:column}.meeting-list-item,.meeting-list-meta{align-items:flex-start;flex-direction:column}}

/* A munkafolyamat sorai a keskenyebb alkalmazasterulethez igazodnak. */
@media(min-width:681px){.workflow-row{grid-template-columns:42px minmax(220px,1.3fr) minmax(140px,.8fr) 100px 160px 80px;gap:12px}.workflow-details{grid-column:2/6}.workflow-row-actions{grid-column:6}}
