:root{--navy:#172536;--blue:#2865d7;--bg:#f3f6fa;--ink:#182433;--muted:#667487;--line:#e1e7ef;--green:#16845b;--red:#bd3d45;--amber:#a76c12}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.topbar{background:var(--navy);color:#fff;min-height:68px;padding:12px max(22px,calc((100vw - 1180px)/2));display:flex;align-items:center;gap:32px}.brand{font-weight:900;letter-spacing:.07em;color:#fff;text-decoration:none;font-size:19px;white-space:nowrap}.brand span{color:#65b5ff}.brand.large{color:var(--navy);font-size:25px}.topbar nav{display:flex;gap:22px;flex:1;flex-wrap:wrap}.topbar nav a{color:#d8e1ec;text-decoration:none;font-size:14px}.topbar nav a:hover{color:#fff}.userbox{display:flex;align-items:center;gap:10px;font-size:13px}.role{color:#b9c9da}.userbox form{margin:0}.container{max-width:1180px;margin:34px auto;padding:0 22px;min-height:calc(100vh - 145px)}h1{font-size:30px;line-height:1.15;margin:0 0 8px}h2{font-size:18px;margin:0 0 16px}.muted,small{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:800;color:#77879b;margin:0 0 8px}.pagehead{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:26px}.button,button{font:inherit;cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;border-radius:9px;padding:11px 16px;font-weight:700;font-size:14px}.primary{background:var(--blue);color:white}.secondary{background:#edf1f6;color:#33445a}.success{background:var(--green);color:white}.danger{background:var(--red);color:white}.small{padding:7px 11px;font-size:13px}.full{width:100%;margin-top:10px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:32px}.stat,.panel{background:#fff;border:1px solid var(--line);border-radius:13px}.stat{padding:19px}.stat strong{display:block;font-size:29px;line-height:1.2}.stat span{font-size:13px;color:var(--muted)}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:26px 0 12px}.sectionhead h2{margin:0}.sectionhead a,.panel a{color:var(--blue);text-decoration:none;font-weight:650}.tablewrap{overflow-x:auto}.panel table{width:100%;border-collapse:collapse;min-width:620px}.panel th,.panel td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);font-size:14px}.panel th{background:#f8fafc;color:#68778a;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.panel tr:last-child td{border-bottom:0}.empty{text-align:center;color:var(--muted);padding:30px!important}.status,.tag{display:inline-block;padding:4px 9px;border-radius:30px;font-size:11px;font-weight:800;background:#edf1f6;color:#536174;white-space:nowrap}.status.submitted{background:#fff1d8;color:#93600c}.status.approved{background:#e1f5ec;color:#16734f}.status.returned{background:#fde8e8;color:#a52f38}.status.draft{background:#edf1f6;color:#536174}.status.big{font-size:13px;padding:8px 12px}.tag.contract{background:#e7efff;color:#2856a5}.tag.extra{background:#fff1d8;color:#93600c}.quicklinks{display:flex;gap:22px;flex-wrap:wrap;margin-top:18px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.chip{padding:7px 13px;border-radius:30px;background:#e9eef5;color:#526174;text-decoration:none;font-size:13px}.chip.active{background:var(--navy);color:#fff}.pad{padding:22px;margin-bottom:18px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.formgrid label,.stackform label,.review label,.login-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:#435267}.span2{grid-column:span 2}input,select,textarea{width:100%;border:1px solid #d7dee8;border-radius:8px;padding:10px 11px;font:inherit;font-size:14px;background:#fff;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #c6d9ff;border-color:#6d9cf0}textarea{resize:vertical}.stackform{display:flex;flex-direction:column;gap:12px}.stackform>.panel{padding:20px}.entryrow{display:grid;grid-template-columns:1fr 1.4fr .65fr 1.4fr 34px;gap:10px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px;margin-bottom:9px}.entryrow label{font-size:12px}.remove{border:0;background:#fff0f0;color:#b33a42;border-radius:8px;height:39px;font-size:22px}.formactions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;flex-wrap:wrap}.submitline{display:flex;justify-content:flex-end;margin-top:12px}.review{margin-top:18px}.alert{padding:12px 15px;border-radius:9px;margin-bottom:15px;background:#e9f1ff;color:#234d8b}.alert.error{background:#fde9e9;color:#a52f38}.alert.success{background:#e1f5ec;color:#16734f}.alert.info{background:#e9f1ff;color:#234d8b}.login-card{max-width:420px;margin:7vh auto;background:#fff;padding:34px;border:1px solid var(--line);border-radius:17px;box-shadow:0 15px 45px #24354c12}.login-card h1{font-size:24px;margin-top:24px}.login-card form{display:flex;flex-direction:column;gap:17px;margin-top:24px}.linkbtn{border:0;background:none;color:#9ecbff;padding:0;font-size:13px}.userbox .linkbtn{color:#d2e4f9}.smalltext{font-size:12px;margin-top:16px}footer{text-align:center;color:#8a96a5;font-size:12px;padding:22px}.submitline button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:800px){.topbar{align-items:flex-start;flex-wrap:wrap;gap:12px;padding:14px 18px}.topbar nav{order:3;flex-basis:100%;gap:17px}.userbox{margin-left:auto}.container{margin:22px auto;padding:0 14px}.pagehead{align-items:flex-start;flex-direction:column}.entryrow{grid-template-columns:1fr 1fr}.entryrow .remove{grid-column:2;justify-self:end;width:40px}.formgrid{grid-template-columns:1fr}.span2{grid-column:span 1}.stats{grid-template-columns:repeat(2,1fr)}h1{font-size:26px}}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin:12px 0 18px}.photo-grid figure{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#f8fafc}.photo-grid img{display:block;width:100%;height:150px;object-fit:cover}.photo-grid figcaption{padding:8px 10px;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.entryrow{grid-template-columns:1fr 1.3fr .65fr 1.3fr 1.2fr 34px}
@media(max-width:800px){.entryrow{grid-template-columns:1fr 1fr}.entryrow .remove{grid-column:2}}
.approved-work-panel{background:#fff;border:1px solid #cfe8dc;border-left:4px solid var(--green);border-radius:13px;padding:20px;margin:24px 0}.approved-work-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.approved-work-heading h2{margin:0 0 6px}.approved-work-heading p{margin:0}.approved-count{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border-radius:30px;background:#e1f5ec;color:#16734f;font-weight:850;font-size:18px}.approved-work-list{display:grid;gap:10px}.approved-work-item{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid var(--line);border-radius:10px;padding:14px;background:#fbfdfc}.approved-work-main{display:flex;flex-direction:column;gap:4px;min-width:0}.approved-work-main>strong{font-size:16px}.approved-work-main p{margin:3px 0 0;color:#435267}.approved-work-main small{color:var(--muted)}.approved-work-side{display:flex;align-items:flex-end;flex-direction:column;gap:8px;white-space:nowrap;font-size:13px}.nav-count{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:20px;background:#16845b;color:#fff;font-size:11px;font-weight:800;margin-left:4px}.text-link{display:inline-block;margin-top:14px;color:var(--blue);font-weight:700;text-decoration:none}
@media(max-width:800px){.approved-work-item{align-items:stretch;flex-direction:column}.approved-work-side{align-items:flex-start;white-space:normal}.approved-work-heading{align-items:center}}

/* TyömaaPro 1.7: työvaiherivin kenttäasettelu */
.entryrow.workrow{
  grid-template-columns:minmax(125px,1fr) minmax(145px,1.2fr) minmax(65px,.55fr)
    minmax(145px,1.25fr) minmax(165px,1.35fr) minmax(145px,1.1fr) 38px;
  gap:10px;
  align-items:end;
}
.entryrow.workrow > label{min-width:0;line-height:1.35;overflow-wrap:anywhere}
.entryrow.workrow input,.entryrow.workrow select{width:100%;min-width:0;box-sizing:border-box}
.entryrow.workrow .remove{
  width:38px;min-width:38px;height:40px;padding:0;
  display:flex;align-items:center;justify-content:center;
  grid-column:auto;justify-self:stretch;align-self:end;
}
@media(max-width:1150px){
  .entryrow.workrow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .entryrow.workrow .remove{grid-column:2;justify-self:end;width:40px}
}
@media(max-width:520px){
  .entryrow.workrow{grid-template-columns:minmax(0,1fr)}
  .entryrow.workrow .remove{grid-column:1;justify-self:end}
}

/* TyömaaPro 2.0: lisätöiden turvallinen pehmeä poisto */
.delete-extra-details{min-width:145px}
.delete-extra-details summary{list-style:none;cursor:pointer}
.delete-extra-details summary::-webkit-details-marker{display:none}
.delete-extra-form{display:grid;gap:8px;min-width:190px;margin-top:9px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}
.delete-extra-form label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#435267}
.removed-extra-panel{margin-top:22px}

/* TyömaaPro 2.5: ilmoituskeskus */
.notification-list{display:grid;gap:10px}.notification-item{display:flex;align-items:center;gap:14px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:12px}.notification-item.unread{border-left:4px solid var(--blue);background:#fbfdff}.notification-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:50%;background:#edf1f6;font-size:18px}.notification-icon.reminder{background:#fff1d8}.notification-icon.warning{background:#fde8e8}.notification-icon.success{background:#e1f5ec}.notification-icon.report{background:#e7efff}.notification-content{flex:1;min-width:0}.notification-content p{margin:3px 0 5px;color:#435267}.notification-content small{font-size:12px}.notification-item form{margin:0}.notification-item .button{white-space:nowrap}
@media(max-width:600px){.notification-item{align-items:flex-start;flex-wrap:wrap}.notification-content{flex:1 1 calc(100% - 58px)}.notification-item form{margin-left:54px}}

/* TyömaaPro 2.7: henkilöstön viikkokalenteri */
.calendar-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.calendar-filter label{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:#435267}
.calendar-filter select{min-width:190px}
.calendar-help{font-size:13px;margin:8px 0 18px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;align-items:stretch}
.calendar-day{min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;min-height:210px}
.calendar-day.today{border-color:#7da5ed;box-shadow:inset 0 3px 0 #2865d7}
.calendar-day>header{display:flex;justify-content:space-between;gap:5px;padding-bottom:9px;margin-bottom:9px;border-bottom:1px solid var(--line);font-size:13px}
.calendar-day>header span{color:var(--muted)}
.shift-card{background:#f3f7ff;border:1px solid #dce7fb;border-left:3px solid var(--blue);border-radius:8px;padding:9px;margin-bottom:8px;display:grid;gap:4px;font-size:12px;overflow-wrap:anywhere}
.shift-time{font-weight:850;color:#2856a5}.shift-card>strong{font-size:13px}.shift-person{color:#536174}.shift-card p{margin:2px 0;color:#536174}.shift-actions{display:flex;gap:12px;align-items:center;margin-top:5px}.shift-actions form{margin:0}.shift-actions a,.shift-actions button{font-size:12px}.shift-actions .linkbtn{color:var(--red)}
.calendar-empty{font-size:12px;color:#9aa5b3;text-align:center;margin:20px 0}.calendar-summary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;font-size:13px}
@media(max-width:1000px){.calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:650px){.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-day{min-height:150px}.calendar-filter{width:100%}.calendar-filter label{align-items:flex-start;flex-direction:column}.calendar-filter select{width:100%}}

/* TyömaaPro 2.8: erilliset asennuskeikat */
.calendar-add-actions{display:flex;gap:9px;flex-wrap:wrap}.installation-card{background:#fff8ed;border-color:#f2dfbd;border-left-color:#d58a20}.installation-card .shift-time{color:#94600d}.installation-card>span{overflow-wrap:anywhere}
@media(max-width:650px){.calendar-add-actions{width:100%}.calendar-add-actions .button{flex:1}}

/* TyömaaPro 2.8.2: kompakti viikkonäkymä ja valitun päivän työlista */
.compact-calendar{align-items:stretch;min-width:0}.compact-day{display:block;min-width:0;min-height:112px;height:112px;padding:12px;text-decoration:none;color:var(--ink);transition:border-color .15s,box-shadow .15s;overflow:hidden}.compact-day:hover{border-color:#8aa9dc;box-shadow:0 2px 10px #1b355010}.compact-day.selected{border:2px solid var(--blue);padding:11px;background:#f7faff}.day-counts{display:flex;flex-direction:column;gap:5px;min-width:0;width:100%;overflow:hidden}.day-count{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;font-size:11px;font-weight:750;border-radius:6px;padding:3px 6px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;word-break:normal}.shift-count{background:#eaf0ff;color:#2856a5}.job-count{background:#fff0d8;color:#94600d}.compact-empty{display:block;margin:7px 0 0;text-align:left}.selected-day-panel{margin-top:18px}.selected-day-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.selected-day-heading h2{margin:0}.selected-day-heading .eyebrow{margin-bottom:3px}.detail-job,.detail-shift{border:1px solid var(--line);border-radius:11px;padding:15px;margin-top:10px;background:#fff}.detail-job{background:#fffaf1;border-color:#f0dfc2;border-left:4px solid #d58a20}.detail-job-top,.detail-shift-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.detail-job h3,.detail-shift h3{font-size:16px;margin:3px 0}.detail-job-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;margin-top:12px}.detail-job-fields>div{display:grid;gap:3px;min-width:0}.detail-job-fields small{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.detail-job-fields strong{font-size:13px;overflow-wrap:anywhere}.detail-shift p{margin:7px 0 0;font-size:13px}.detail-job .shift-actions .linkbtn,.detail-shift .shift-actions .linkbtn{color:var(--red)}
@media(max-width:650px){.compact-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-day{height:100px;min-height:100px}.detail-job-fields{grid-template-columns:1fr}.detail-job-top,.detail-shift-top{flex-direction:column}.selected-day-heading{align-items:flex-start}}

/* Work shift site address in the daily calendar detail */
.shift-site-address { margin: 3px 0 0; font-size: .9rem; }
.review-form{min-width:190px;display:grid;gap:6px}.review-form input{min-width:150px}

/* Päivän työlista / dispatch */
.dispatch-actions{display:flex;gap:8px;flex-wrap:wrap}.dispatch-datebar{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.dispatch-dateform{min-width:190px}.dispatch-dateform label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:var(--muted)}.dispatch-dateform input{min-width:170px}.dispatch-stats{margin-top:18px}.dispatch-section{margin-bottom:18px}.dispatch-item{display:grid;grid-template-columns:145px minmax(0,1fr) auto;gap:16px;padding:16px 0;border-top:1px solid var(--line);align-items:start}.dispatch-time{font-weight:850;color:var(--blue)}.dispatch-time span{font-size:11px;letter-spacing:.04em}.dispatch-main h3{margin:0 0 4px;font-size:16px}.dispatch-main p{margin:3px 0;font-size:13px}.dispatch-installation{border-left:4px solid #d58a20;padding-left:12px}.dispatch-shift{border-left:4px solid var(--blue);padding-left:12px}.dispatch-status{display:flex;flex-direction:column;align-items:flex-end;gap:8px;font-size:13px}.dispatch-status a,.dispatch-unassigned a{font-weight:700;text-decoration:none;color:var(--blue)}.unassigned-label{color:#a76c12;font-weight:800}.dispatch-free-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.dispatch-free-list>div{padding:11px 13px;background:#f7f9fc;border:1px solid var(--line);border-radius:9px;display:flex;flex-direction:column}.dispatch-free-list span,.dispatch-unassigned span{font-size:12px}.dispatch-unassigned{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.dispatch-unassigned>div{display:flex;flex-direction:column}
@media(max-width:650px){.dispatch-item{grid-template-columns:1fr;gap:6px}.dispatch-status{align-items:flex-start;flex-direction:row;flex-wrap:wrap}.dispatch-datebar .button{flex:1}.dispatch-dateform{flex:1}.dispatch-dateform input{width:100%}}


/* TyömaaPro 3.4: päivän asennuslistan tulostus */
@media print{
  @page{size:A4 portrait;margin:8mm}
  .dispatch-actions{display:none!important}
  body{background:#fff!important;color:#000!important;font-size:9pt;line-height:1.18}
  .topbar,footer,.no-print,.dispatch-datebar,.dispatch-stats,.dispatch-section:not(:first-of-type),.dispatch-shift,.dispatch-status{display:none!important}
  .container{max-width:none!important;width:100%!important;margin:0!important;padding:0!important;min-height:0!important}
  .pagehead{display:block;margin:0 0 5px;padding:0 0 5px;border-bottom:1px solid #222}
  .pagehead h1{font-size:15pt;margin:0 0 2px}
  .pagehead .eyebrow{display:none}
  .pagehead .muted{color:#333!important;font-size:8pt;margin:0}
  .dispatch-section{display:block!important;border:0!important;border-radius:0!important;padding:0!important;margin:0!important;box-shadow:none!important}
  .dispatch-section .sectionhead{margin:0 0 3px;padding:0}
  .dispatch-section .sectionhead h2{font-size:10pt;margin:0}
  .dispatch-item{display:grid!important;grid-template-columns:76px minmax(0,1fr)!important;gap:6px!important;padding:5px 0!important;border-top:1px solid #bbb!important;break-inside:avoid;page-break-inside:avoid}
  .dispatch-installation{border-left:2px solid #555!important;padding-left:5px!important}
  .dispatch-time{color:#000!important;font-size:8pt;line-height:1.15}
  .dispatch-time span{font-size:7pt;letter-spacing:0}
  .dispatch-main h3{font-size:9.5pt;line-height:1.15;margin:0 0 1px}
  .dispatch-main p{font-size:8pt;line-height:1.15;color:#222!important;margin:1px 0}
  .dispatch-main p.muted{font-size:7.5pt}
  .dispatch-main strong{font-size:8pt}
  .unassigned-label{color:#000!important;font-weight:800}
  a{color:#000!important;text-decoration:none!important}
}


/* TyömaaPro 3.4.2: asentajan oman päivän työlistan tulostus */
.selected-day-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
@media print{
  body:has(.selected-day-panel) .topbar,
  body:has(.selected-day-panel) footer,
  body:has(.selected-day-panel) .pagehead,
  body:has(.selected-day-panel) .calendar-toolbar,
  body:has(.selected-day-panel) .calendar-help,
  body:has(.selected-day-panel) .calendar-grid,
  body:has(.selected-day-panel) .calendar-summary,
  body:has(.selected-day-panel) .no-print{display:none!important}
  body:has(.selected-day-panel) .container{max-width:none;margin:0;padding:0;min-height:0}
  body:has(.selected-day-panel) .selected-day-panel{display:block!important;margin:0;padding:0;border:0;box-shadow:none;background:#fff}
  body:has(.selected-day-panel) .selected-day-heading{border-bottom:2px solid #222;padding-bottom:10px;margin-bottom:12px}
  body:has(.selected-day-panel) .selected-day-heading .eyebrow{display:none}
  body:has(.selected-day-panel) .selected-day-heading h2{font-size:20pt;color:#000}
  body:has(.selected-day-panel) .detail-job,body:has(.selected-day-panel) .detail-shift{break-inside:avoid;border-color:#999}
  body:has(.selected-day-panel) a{color:#000;text-decoration:none}
}

/* Työmaatti 3.9: yrityksen asetukset */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.form-grid label{display:flex;flex-direction:column;gap:6px}.form-grid .wide{grid-column:1/-1}@media(max-width:650px){.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}

/* Työmaatti 3.10: responsiivinen navigaatio ja mobiilikäyttö */
.menu-toggle{display:none}
.nav-panel{display:contents}
.user-identity{white-space:nowrap}
@media(max-width:800px){
  .topbar{position:relative;z-index:30;align-items:center;flex-wrap:nowrap;gap:12px;padding:12px 16px;min-height:62px}
  .brand{font-size:18px}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:42px;margin-left:auto;padding:9px;border:1px solid #405268;border-radius:9px;background:#22354a;color:#fff}
  .menu-toggle span{display:block;width:100%;height:2px;border-radius:2px;background:#fff}
  .nav-panel{display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;max-height:calc(100vh - 64px);overflow-y:auto;padding:10px 16px 16px;background:#172536;border-top:1px solid #34475c;box-shadow:0 12px 24px #101b2a55}
  .nav-panel.is-open{display:block}
  .topbar nav{display:flex;flex-direction:column;gap:0;width:100%;padding:0;margin:0}
  .topbar nav a{display:flex;align-items:center;min-height:46px;padding:10px 8px;border-bottom:1px solid #2c4055;font-size:15px}
  .userbox{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:10px;margin:12px 0 0;padding:14px 8px 4px;border-top:1px solid #405268;font-size:13px}
  .user-identity{flex:1 1 100%;white-space:normal;color:#fff;font-weight:650}
  .userbox .linkbtn{min-height:38px;padding:7px 0}
  .userbox form{display:block;width:100%;margin:0}
  .userbox form .linkbtn{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:10px 12px;border:1px solid #70404a;border-radius:8px;background:#492a32;color:#fff;font-size:15px;font-weight:650;text-align:center}
  body.menu-open{overflow:hidden}
  .container{margin:20px auto;padding:0 14px}
  .panel.pad{padding:16px}
  .button,button{min-height:40px}
  input,select,textarea{font-size:16px;min-height:42px}
}
@media(min-width:801px){.menu-toggle{display:none}}

/* 3.10.2: uloskirjautuminen omana näkyvänä toimintona myös mobiilivalikossa */
.logout-area{display:block;margin-left:8px}.logout-area form{margin:0}.logout-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border:1px solid #70404a;border-radius:8px;background:#492a32;color:#fff;font-size:13px;font-weight:700}
@media(max-width:800px){.logout-area{display:block!important;width:100%;margin:12px 0 0;padding:0 8px 8px}.logout-area form{display:block!important;width:100%}.logout-area .logout-button{display:flex!important;width:100%;min-height:48px;padding:12px;border:1px solid #a65b68;background:#713641;color:#fff;font-size:16px;font-weight:750;visibility:visible!important;opacity:1!important}}


/* 3.10.3: tarkat mobiilin kosketusalueet ja turvallinen alareunavaraus */
@media(max-width:800px){
  .nav-panel{max-height:calc(100vh - 76px);max-height:calc(100dvh - 76px - env(safe-area-inset-bottom, 0px));overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(32px + env(safe-area-inset-bottom, 0px));}
  .userbox .linkbtn{display:inline-flex!important;align-self:flex-start!important;align-items:center;justify-content:center;width:auto!important;min-width:0!important;min-height:40px;padding:8px 12px!important;margin:0!important;flex:0 0 auto!important;line-height:1.2;white-space:nowrap;}
  .logout-area{padding-bottom:calc(20px + env(safe-area-inset-bottom, 0px))!important;margin-bottom:8px!important;}
  .logout-area .logout-button{width:100%;min-height:50px;}
}
