/* HSG V4.4.0 - additive UI. Existing styles.css remains unchanged. */
.hsg-shell{max-width:none;padding:0;min-height:100vh}
.hsg-app{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);min-height:100vh}
.hsg-app.is-authenticated{display:grid;grid-template-columns:minmax(220px,250px) minmax(0,1fr)}
.hsg-app .hsg-content{min-width:0;max-width:1450px;width:100%;margin:0 auto;padding:22px clamp(18px,3vw,44px)}
.hsg-sidebar{background:#f7f0e5;border-right:1px solid var(--border);padding:28px 16px;position:sticky;top:0;height:100vh;overflow-y:auto;align-self:start;display:flex;flex-direction:column;gap:28px}
.hsg-sidebar-brand{color:#57401d;text-decoration:none;font-family:Georgia,'Times New Roman',serif;font-weight:bold;font-size:1.3rem;line-height:1.23;padding:6px 12px}
.hsg-sidebar-brand small{display:block;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:.76rem;font-weight:500;color:var(--muted);margin-top:8px;letter-spacing:.05em}
.hsg-desktop-nav{display:flex;flex-direction:column;gap:5px}
.hsg-nav-link{color:var(--ink);display:flex;align-items:center;gap:12px;border-radius:12px;text-decoration:none;font-size:.95rem;font-weight:550;min-height:48px;padding:11px 12px}
.hsg-nav-link:hover{background:#ede2d0}
.hsg-nav-link.is-active{background:#e7dac3;color:#563c13;font-weight:750}
.hsg-icon{width:22px;height:22px;flex:none}
.hsg-sidebar-public{margin-top:auto;padding:12px;font-size:.87rem;color:var(--gold);text-decoration:none}
.hsg-header{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:54px;margin:0 0 18px;flex-wrap:wrap}
.hsg-header-brand{font-family:Georgia,'Times New Roman',serif;font-size:1.2rem}
.hsg-header-section{font-weight:650;color:var(--muted)}
.hsg-public-link{color:var(--gold);text-decoration:none;font-size:.85rem}
.hsg-app .hsg-panel{min-height:360px;border-radius:18px;padding:clamp(18px,3vw,36px);max-width:none;min-width:0;box-shadow:0 6px 24px rgba(54,40,26,.05)}
.hsg-app .hsg-panel h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.75rem,3vw,2.3rem);margin-top:0}
.hsg-app .hsg-footer{margin:18px 0 0;padding:8px 0 12px}
.hsg-mobile-nav{display:none}
.hsg-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;margin:18px 0 28px}
.hsg-link-card{display:flex;flex-direction:column;gap:8px;min-height:100px;padding:18px;border:1px solid var(--border);border-radius:14px;background:#fff;text-decoration:none;color:var(--ink)}
.hsg-link-card strong{font-size:1rem}.hsg-link-card span{font-size:.88rem;color:var(--muted)}
a.hsg-link-card:hover{border-color:#b09b74;background:#fffdf9}
.hsg-link-card.is-upcoming{background:#faf7f0}
.hsg-placeholder{background:#fff;border:1px solid var(--border);border-radius:16px;padding:clamp(18px,3vw,28px);max-width:720px;margin-top:20px}
.hsg-placeholder h2{margin-top:0}.hsg-placeholder a{display:inline-block;padding:12px 18px;background:#79541d;color:#fff;border-radius:10px;text-decoration:none;min-height:44px}
.hsg-logout-form{margin:24px 0 0}.hsg-logout-form button{min-height:44px;min-width:115px}
.hsg-app a:focus-visible,.hsg-app button:focus-visible{outline:3px solid #5b6c30;outline-offset:3px}
/* Tablet and mobile share the same five-section navigation. */
@media(max-width:900px){
 .hsg-app.is-authenticated{display:block}
 .hsg-sidebar{display:none}
 .hsg-app .hsg-content{padding:12px 14px calc(108px + env(safe-area-inset-bottom,0px))}
 .hsg-header{min-height:50px;margin:0 0 10px}
 .hsg-header-brand{font-size:1.04rem}
 .hsg-header-section{font-size:.87rem}
 .hsg-public-link{display:none}
 .hsg-app .hsg-panel{border-radius:15px;padding:18px 15px;min-height:250px}
 .hsg-mobile-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;z-index:1000;left:0;right:0;bottom:0;padding:7px 5px calc(7px + env(safe-area-inset-bottom,0px));background:#fffaf3;box-shadow:0 -4px 22px rgba(54,40,26,.12);border-top:1px solid var(--border)}
 .hsg-mobile-nav .hsg-nav-link{padding:4px 1px;min-height:54px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;border-radius:9px;font-size:clamp(.62rem,2.3vw,.74rem);white-space:nowrap}
 .hsg-mobile-nav .hsg-nav-link .hsg-icon{height:23px;width:23px}
 .hsg-mobile-nav .hsg-nav-link.is-active{background:#e7dac3}
}
@media(max-width:360px){
 .hsg-app .hsg-content{padding-left:8px;padding-right:8px}
 .hsg-mobile-nav{padding-left:2px;padding-right:2px}
 .hsg-mobile-nav .hsg-nav-link{font-size:.60rem}
}
@media(prefers-reduced-motion:reduce){.hsg-app *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* HSG V4.4.0: Stundenansicht; externe CSS-Regeln wegen CSP style-src self. */
/* V4.4.0: ausschliesslich diese Seite - bestehende Styles bleiben unberuehrt. */
.hsg-hours{min-width:0;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
.hsg-hours .wh-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.hsg-hours .wh-heading h1{margin:4px 0 8px;font-size:clamp(1.65rem,3.5vw,2.15rem)}
.hsg-hours .wh-lead{margin:0 0 18px;color:var(--muted);line-height:1.5;font-size:.94rem}
.hsg-hours .wh-year-form{display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.hsg-hours .wh-year-form label{font-size:.85rem;margin:0 0 4px}
.hsg-hours .wh-year-form input{width:94px;min-height:44px;padding:10px}
.hsg-hours .wh-year-form button{min-height:44px;padding:9px 13px}
.hsg-hours .wh-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.hsg-hours .wh-stat{border:1px solid var(--border);border-radius:15px;background:#fff;padding:16px;min-width:0}
.hsg-hours .wh-stat-label{display:block;color:var(--muted);font-size:.85rem;margin:0 0 8px}
.hsg-hours .wh-stat strong{display:block;font-size:clamp(1.2rem,2.5vw,1.7rem);overflow-wrap:anywhere;line-height:1.25}
.hsg-hours .wh-stat.wh-stat-primary{background:#f8f1e4}
.hsg-hours .wh-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:11px;background:#79541d;color:white;text-decoration:none;border:0;font:inherit;font-weight:650;cursor:pointer}
.hsg-hours .wh-button:hover{background:#614219;color:white}
.hsg-hours .wh-button-outline{background:#fff;color:#79541d;border:1px solid #ad976e}
.hsg-hours .wh-button-outline:hover{background:#fbf3e3;color:#614219}
.hsg-hours .wh-panel{margin:16px 0;padding:18px;border-radius:16px;border:1px solid var(--border);background:#fff}
.hsg-hours .wh-panel h2{font-size:1.13rem;margin:0 0 11px}
.hsg-hours .wh-actions{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0}
.hsg-hours details.wh-panel{padding:0;overflow:clip}
.hsg-hours details.wh-panel>summary{padding:17px 18px;font-size:1.06rem;font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;min-height:56px}
.hsg-hours details.wh-panel>summary::-webkit-details-marker{display:none}
.hsg-hours details.wh-panel.wh-create>summary{background:#f6eee0;color:#493618}
.hsg-hours details.wh-panel>summary::after{content:'+';font-size:1.35rem;flex:none;color:#79541d}
.hsg-hours details.wh-panel[open]>summary::after{content:'−'}
.hsg-hours details.wh-panel[open]>summary{border-bottom:1px solid var(--border)}
.hsg-hours .wh-panel-body{padding:16px 18px 20px}
.hsg-hours .wh-panel-body>p:first-child{margin-top:0}
.hsg-hours .wh-panel label{margin-top:13px}
.hsg-hours .wh-panel :is(input,select,textarea){max-width:100%;min-width:0}
.hsg-hours .wh-panel :is(input,select,textarea):focus-visible,.hsg-hours :is(button,a,summary):focus-visible{outline:3px solid #5b6c30;outline-offset:3px}
.hsg-hours .wh-panel .primary{min-height:48px;margin-top:18px}
.hsg-hours .wh-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 13px}
.hsg-hours .wh-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 13px}
.hsg-hours .wh-field{min-width:0}
.hsg-hours .wh-entry-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.hsg-hours .wh-entry{border:1px solid var(--border);border-radius:13px;background:white;padding:15px;min-width:0}
.hsg-hours .wh-entry-head{display:flex;justify-content:space-between;gap:9px;align-items:flex-start}
.hsg-hours .wh-entry-title{font-weight:700;font-size:1rem;overflow-wrap:anywhere}
.hsg-hours .wh-entry-hours{white-space:nowrap;font-weight:750;color:#5b431f;font-size:1.06rem}
.hsg-hours .wh-entry-meta{font-size:.85rem;color:var(--muted);line-height:1.45;margin:8px 0;overflow-wrap:anywhere}
.hsg-hours .wh-entry-activity{font-size:.92rem;line-height:1.48;overflow-wrap:anywhere}
.hsg-hours .wh-entry-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}
.hsg-hours .wh-status{display:inline-block;border-radius:99px;padding:5px 10px;border:1px solid #d2c2a3;background:#f7f1e7;font-size:.79rem;line-height:1.2}
.hsg-hours .wh-status-approved{color:#315b24;border-color:#bfd4b5;background:#eef6ea}
.hsg-hours .wh-status-pending{color:#715311;background:#fff5da;border-color:#ddc68c}
.hsg-hours .wh-status-rejected{color:#8a2f26;background:#fff3f1;border-color:#e5bab3}
.hsg-hours .wh-entry a{color:#694918;font-weight:700;text-underline-offset:3px;min-height:38px;display:inline-flex;align-items:center}
.hsg-hours .wh-switch{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 13px}
.hsg-hours .wh-switch a{color:#69502d;border:1px solid var(--border);border-radius:9px;padding:10px 13px;min-height:44px;text-decoration:none;font-weight:600}
.hsg-hours .wh-switch a[aria-current="page"]{background:#e9ddc6;border-color:#a78c5b}
.hsg-hours .wh-pager{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:12px}
.hsg-hours .wh-pager a{display:inline-flex;align-items:center;min-height:44px;padding:9px 12px;border:1px solid var(--border);border-radius:9px;color:#694918}
.hsg-hours .wh-admin-links{display:flex;gap:9px;flex-wrap:wrap}
.hsg-hours .wh-admin-links a{padding:9px 11px;min-height:44px;display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:9px;color:#694918}
.hsg-hours .wh-empty{padding:18px;border-radius:12px;background:#f8f3eb;color:var(--muted)}
.hsg-hours .wh-small{font-size:.84rem;color:var(--muted);line-height:1.5}
@media(max-width:850px){.hsg-hours .wh-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hsg-hours .wh-entry-list{grid-template-columns:1fr}}
@media(max-width:550px){.hsg-hours .wh-form-grid,.hsg-hours .wh-time-grid{grid-template-columns:1fr}.hsg-hours .wh-panel{padding:14px}.hsg-hours details.wh-panel{padding:0}.hsg-hours .wh-panel-body{padding:14px}.hsg-hours details.wh-panel>summary{padding:14px}.hsg-hours .wh-year-form{width:100%;justify-content:flex-start}.hsg-hours .wh-stat{padding:12px}.hsg-hours .wh-stat-label{font-size:.76rem}.hsg-hours .wh-stat strong{font-size:1.25rem}.hsg-hours .wh-actions .wh-button{width:100%}.hsg-hours .wh-panel .primary{width:100%}}
@media(max-width:350px){.hsg-hours .wh-stat{padding:9px}.hsg-hours .wh-stat strong{font-size:1.05rem}.hsg-hours .wh-stat-label{font-size:.72rem}}


/* HSG V4.4.0 - Dashboard. Additiv und ausschliesslich .hsg-dashboard. */
.hsg-dashboard{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;min-width:0;max-width:1080px;margin-inline:auto}
.hsg-dashboard .hd-intro{margin:0 0 22px}
.hsg-dashboard .hd-intro .hd-eyebrow{color:var(--gold);letter-spacing:.075em;text-transform:uppercase;font-size:.77rem;font-weight:750;margin:0 0 8px}
.hsg-dashboard .hd-intro h1{margin:0 0 8px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.48rem,3.4vw,2.2rem);line-height:1.22;color:#50381b;overflow-wrap:anywhere}
.hsg-dashboard .hd-intro p:last-child{margin:0;color:var(--muted);font-size:.94rem;line-height:1.52}
.hsg-dashboard .hd-section{margin:0 0 20px}
.hsg-dashboard .hd-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.hsg-dashboard .hd-section-heading h2,.hsg-dashboard .hd-card h2{margin:0;color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:1.08rem;font-weight:750;line-height:1.35}
.hsg-dashboard .hd-text-link,.hsg-dashboard .hd-card-link{color:#66491e;text-decoration:underline;text-underline-offset:3px;font-size:.86rem;font-weight:700}
.hsg-dashboard .hd-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.hsg-dashboard .hd-stat{min-width:0;background:#fff;border:1px solid var(--border);padding:15px;border-radius:14px}
.hsg-dashboard .hd-stat-featured{background:#f4ead8;border-color:#d8c7a9}
.hsg-dashboard .hd-stat-label{display:block;color:var(--muted);font-size:.82rem;margin-bottom:8px;line-height:1.3}
.hsg-dashboard .hd-stat strong{display:block;color:var(--ink);font-size:clamp(1.22rem,2.1vw,1.6rem);font-weight:790;line-height:1.2;overflow-wrap:anywhere}
.hsg-dashboard .hd-progress{margin:13px 0 0}
.hsg-dashboard .hd-progress-label{display:flex;justify-content:space-between;gap:8px;font-size:.79rem;color:var(--muted);margin:0 0 7px}
.hsg-dashboard .hd-progress-label strong{color:#475622}
.hsg-dashboard progress{width:100%;height:11px;display:block;border:0;border-radius:99px;overflow:hidden;accent-color:#5b6c30;background:#e8ddc7}
.hsg-dashboard progress::-webkit-progress-bar{background:#e8ddc7;border-radius:99px}
.hsg-dashboard progress::-webkit-progress-value{background:#5b6c30;border-radius:99px}
.hsg-dashboard progress::-moz-progress-bar{background:#5b6c30;border-radius:99px}
.hsg-dashboard .hd-message{border:1px solid var(--border);border-radius:10px;background:#fbf7ef;padding:12px;color:var(--muted);font-size:.86rem;line-height:1.45}
.hsg-dashboard .hd-message-success{background:#edf5e8;border-color:#b9cfa9;color:#315325}
.hsg-dashboard .hd-quick-actions{display:flex;gap:9px;margin:18px 0 23px;flex-wrap:wrap}
.hsg-dashboard .hd-button{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:48px;border-radius:11px;padding:12px 16px;font-weight:700;font-size:.89rem;line-height:1.3;text-decoration:none;text-align:center}
.hsg-dashboard .hd-button-primary{background:#79541d;color:#fff;border:1px solid #79541d}
.hsg-dashboard .hd-button-outline{background:#fff;border:1px solid #ae946c;color:#60451e}
.hsg-dashboard .hd-button:hover{filter:brightness(.96)}
.hsg-dashboard .hd-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hsg-dashboard .hd-card{min-width:0;background:white;border:1px solid var(--border);border-radius:14px;padding:17px}
.hsg-dashboard .hd-card-head{margin-bottom:9px}
.hsg-dashboard .hd-card p{margin:9px 0 12px;font-size:.89rem;color:var(--muted);line-height:1.48}
.hsg-dashboard .hd-card p strong{color:var(--ink)}
.hsg-dashboard .hd-divider{height:1px;background:var(--border);margin:13px 0}
.hsg-dashboard .hd-inline-links{display:flex;flex-wrap:wrap;gap:9px 18px}
.hsg-dashboard .hd-management{margin-top:22px}
.hsg-dashboard .hd-management-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.hsg-dashboard .hd-management-links a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;background:#fff;border:1px solid var(--border);border-radius:11px;padding:11px 14px;color:#60451e;text-decoration:none;font-weight:650;font-size:.87rem}
.hsg-dashboard :is(a,button):focus-visible{outline:3px solid #5b6c30;outline-offset:3px}
@media(max-width:900px){.hsg-dashboard .hd-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.hsg-dashboard .hd-intro{margin-bottom:20px}.hsg-dashboard .hd-quick-actions{flex-direction:column}.hsg-dashboard .hd-button{width:100%}.hsg-dashboard .hd-panels{grid-template-columns:1fr}.hsg-dashboard .hd-management-links{grid-template-columns:1fr}.hsg-dashboard .hd-card{padding:15px}.hsg-dashboard .hd-stat{padding:12px}.hsg-dashboard .hd-stat strong{font-size:1.32rem}}
@media(max-width:360px){.hsg-dashboard .hd-stat{padding:10px}.hsg-dashboard .hd-stat strong{font-size:1.14rem}.hsg-dashboard .hd-stat-label{font-size:.76rem}.hsg-dashboard .hd-section-heading h2{font-size:1rem}}
