/* H3D Portal v70.0 · warmes, einladendes Kundenportal-Theme */
:root{
  --bg:#100d0c;
  --panel:#1b1715;
  --panel-2:#241e1a;
  --card:#1d1917;
  --text:#f7f0e7;
  --muted:#bdb0a2;
  --gold:#dda640;
  --gold-light:#f5cf83;
  --line:rgba(231,184,103,.19);
  --warm-shadow:0 24px 70px rgba(4,2,1,.32);
  --warm-border:rgba(241,204,137,.14);
  --warm-surface:linear-gradient(145deg,rgba(44,35,29,.96),rgba(25,21,19,.98));
}
body.portal-website-shell{
  background:
    radial-gradient(circle at 9% 18%,rgba(196,116,35,.14),transparent 30rem),
    radial-gradient(circle at 92% 8%,rgba(240,184,84,.1),transparent 34rem),
    linear-gradient(180deg,#130f0d 0,#0d0b0b 56%,#100d0c 100%);
  color:var(--text);
}
body.portal-website-shell::before{
  background:
    linear-gradient(115deg,rgba(255,221,166,.025),transparent 28%),
    radial-gradient(circle at 50% 0,rgba(255,223,169,.04),transparent 35%);
}
body.portal-website-shell .page-noise{opacity:.17;mix-blend-mode:soft-light}
body.portal-website-shell main.portal-main{width:min(1320px,calc(100% - 34px));padding-top:clamp(42px,6vw,76px)}

/* Portalnavigation */
body.portal-website-shell .portal-subnav{
  border-color:rgba(236,192,116,.12);
  background:rgba(21,16,14,.9);
  box-shadow:0 12px 38px rgba(0,0,0,.22);
}
body.portal-website-shell .portal-subnav a{border-radius:999px;color:#cfc2b3;transition:.18s ease}
body.portal-website-shell .portal-subnav a:hover{background:rgba(238,185,90,.08);color:#ffe2a7}
body.portal-website-shell .portal-subnav a.is-active{background:linear-gradient(135deg,rgba(218,157,54,.2),rgba(218,157,54,.07));color:#ffe2a7;box-shadow:inset 0 0 0 1px rgba(239,190,103,.19)}

/* Einheitliche Seitenköpfe */
body.portal-website-shell .page-head{
  position:relative;max-width:none;margin-bottom:30px;padding:clamp(22px,4vw,38px);
  overflow:hidden;border:1px solid var(--warm-border);border-radius:24px;
  background:linear-gradient(120deg,rgba(47,36,29,.93),rgba(25,21,19,.96) 68%);
  box-shadow:var(--warm-shadow);
}
body.portal-website-shell .page-head::after{
  content:"";position:absolute;right:-70px;top:-100px;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle,rgba(232,167,59,.16),transparent 67%);pointer-events:none;
}
body.portal-website-shell .page-head>*{position:relative;z-index:1}
body.portal-website-shell .page-head h1{color:#fff8ef;text-shadow:0 2px 24px rgba(242,189,97,.07)}
body.portal-website-shell .page-head>p:not(.eyebrow){max-width:780px;color:#cbbfb1;line-height:1.65}
body.portal-website-shell .eyebrow{color:#f0bf68}

/* Karten und allgemeine Inhaltsflächen */
body.portal-website-shell .settings-card,
body.portal-website-shell .auth-card,
body.portal-website-shell .portal-notifications-card,
body.portal-website-shell .portal-project-card{
  border:1px solid var(--warm-border);border-radius:22px;background:var(--warm-surface);
  box-shadow:var(--warm-shadow);
}
body.portal-website-shell .settings-card h2,
body.portal-website-shell .auth-card h1,
body.portal-website-shell .portal-notifications-card h1{color:#fff6ea}
body.portal-website-shell .settings-card>p,
body.portal-website-shell .auth-card>p{color:#c5b8aa;line-height:1.65}
body.portal-website-shell .notice{border-color:rgba(237,190,109,.22);background:rgba(52,40,31,.88);box-shadow:0 14px 35px rgba(0,0,0,.17)}
body.portal-website-shell .notice.success{border-color:rgba(91,211,154,.32);background:rgba(28,57,43,.52)}
body.portal-website-shell .notice.error{border-color:rgba(255,107,126,.32);background:rgba(67,31,34,.56)}

/* Buttons */
body.portal-website-shell .button{
  border:1px solid rgba(255,220,151,.28);border-radius:999px;
  background:linear-gradient(135deg,#c88727,#f0c46f);color:#201507;
  box-shadow:0 10px 30px rgba(190,119,28,.18);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
body.portal-website-shell .button:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 15px 38px rgba(190,119,28,.25)}
body.portal-website-shell .button.secondary{
  border-color:rgba(237,190,109,.25);background:rgba(255,233,194,.035);color:#f3cc82;box-shadow:none;
}
body.portal-website-shell .button.secondary:hover{background:rgba(235,182,89,.09)}
body.portal-website-shell .mini-button{
  border-color:rgba(237,190,109,.2);border-radius:999px;background:rgba(245,215,163,.05);color:#efc779;
}
body.portal-website-shell .mini-button:hover{border-color:rgba(237,190,109,.42);background:rgba(237,190,109,.1)}

/* Formulare */
body.portal-website-shell .form-stack label,
body.portal-website-shell .form-grid label,
body.portal-website-shell .notification-settings-form label{color:#e8dccf}
body.portal-website-shell .form-stack input,
body.portal-website-shell .form-stack select,
body.portal-website-shell .form-stack textarea,
body.portal-website-shell .form-grid input,
body.portal-website-shell .form-grid select,
body.portal-website-shell .form-grid textarea,
body.portal-website-shell .business-fields input,
body.portal-website-shell .business-fields select,
body.portal-website-shell .business-fields textarea,
body.portal-website-shell .notification-settings-form input,
body.portal-website-shell .notification-settings-form select,
body.portal-website-shell .notification-settings-form textarea,
body.portal-website-shell .milestone-actions textarea{
  border-color:rgba(239,205,148,.15);border-radius:13px;background:rgba(10,8,8,.5);color:#fff5e9;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
body.portal-website-shell input::placeholder,
body.portal-website-shell textarea::placeholder{color:#897d72}
body.portal-website-shell input:focus,
body.portal-website-shell select:focus,
body.portal-website-shell textarea:focus{
  outline:2px solid rgba(224,164,63,.3)!important;border-color:rgba(237,190,109,.5)!important;
  box-shadow:0 0 0 5px rgba(219,151,43,.07)!important;
}
body.portal-website-shell .business-fields{border-color:var(--warm-border);border-radius:17px;background:rgba(9,7,7,.25)}
body.portal-website-shell .checks,
body.portal-website-shell .check-line{color:#cfc2b4}
body.portal-website-shell input[type="checkbox"]{accent-color:#dda640}
body.portal-website-shell .notification-settings-form .toggle-row{
  border-color:var(--warm-border);background:rgba(255,235,199,.025);transition:.18s ease;
}
body.portal-website-shell .notification-settings-form .toggle-row:hover{background:rgba(232,173,70,.055);border-color:rgba(232,173,70,.28)}

/* Kategoriebaum und neue Anfrage */
body.portal-website-shell .category-grid{gap:14px}
body.portal-website-shell .category-grid article{
  position:relative;overflow:hidden;border-color:var(--warm-border);border-radius:19px;
  background:linear-gradient(140deg,rgba(42,33,27,.94),rgba(24,20,18,.97));box-shadow:0 17px 45px rgba(0,0,0,.2);
  transition:transform .18s ease,border-color .18s ease;
}
body.portal-website-shell .category-grid article::after{
  content:"";position:absolute;right:-50px;bottom:-65px;width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle,rgba(226,158,50,.09),transparent 70%);pointer-events:none;
}
body.portal-website-shell .category-grid article:hover{transform:translateY(-2px);border-color:rgba(239,190,103,.34)}
body.portal-website-shell .category-grid article h2{color:#fff4e5}
body.portal-website-shell .category-grid article p,
body.portal-website-shell .category-grid article small{color:#bfb1a3}
body.portal-website-shell .category-breadcrumb{color:#c8b9aa}

/* Ticketübersichten */
body.portal-website-shell .ticket-list{gap:11px}
body.portal-website-shell .ticket-list a{
  position:relative;padding:17px 19px;border-color:var(--warm-border);border-radius:15px;
  background:linear-gradient(120deg,rgba(37,29,25,.86),rgba(20,17,16,.92));
  box-shadow:0 10px 28px rgba(0,0,0,.14);transition:.18s ease;
}
body.portal-website-shell .ticket-list a::after{content:"→";position:absolute;right:17px;top:50%;color:#dba544;transform:translateY(-50%)}
body.portal-website-shell .ticket-list a:hover{transform:translateX(3px);border-color:rgba(235,183,91,.4);background:linear-gradient(120deg,rgba(47,36,29,.94),rgba(24,20,18,.96))}
body.portal-website-shell .ticket-list a strong{display:block;padding-right:28px;color:#fff2df}
body.portal-website-shell .ticket-list small{padding-right:28px;color:#ad9f92}
body.portal-website-shell .ticket-meta span{border-color:var(--warm-border);background:rgba(240,209,153,.035);color:#c9bcaf}

/* Ticketchat */
body.portal-website-shell .ticket-chat-card,
body.portal-website-shell .ticket-workspace aside .settings-card{
  border-color:var(--warm-border);background:linear-gradient(180deg,rgba(41,32,27,.96),rgba(22,18,17,.98));
  box-shadow:0 28px 80px rgba(4,2,1,.34);
}
body.portal-website-shell .ticket-chat-head{border-color:rgba(242,203,134,.1);background:rgba(255,235,199,.02)}
body.portal-website-shell .ticket-chat{background:linear-gradient(180deg,rgba(12,10,10,.56),rgba(19,15,14,.7))}
body.portal-website-shell .ticket-message-bubble{
  border-color:rgba(236,206,157,.12);background:linear-gradient(145deg,#241f1c,#191615);
  box-shadow:0 12px 34px rgba(0,0,0,.19);
}
body.portal-website-shell .ticket-message.customer .ticket-message-bubble{
  border-color:rgba(226,165,61,.3);background:linear-gradient(145deg,rgba(102,69,25,.38),rgba(40,30,20,.92));
}
body.portal-website-shell .ticket-message-column>header strong{color:#f8d898}
body.portal-website-shell .ticket-message-column>header time,
body.portal-website-shell .ticket-message-column>header small,
body.portal-website-shell .ticket-delivery{color:#9f9286}
body.portal-website-shell .ticket-message blockquote{border-color:#dda640;background:rgba(8,6,5,.32);color:#c2b4a7}
body.portal-website-shell .ticket-message-body code,
body.portal-website-shell .ticket-message-body pre{background:#0e0b0a;color:#f5cf83}
body.portal-website-shell .ticket-message-search,
body.portal-website-shell .ticket-composer{border-color:rgba(242,203,134,.1);background:rgba(27,22,20,.94)}
body.portal-website-shell .ticket-message-search input,
body.portal-website-shell .ticket-composer textarea,
body.portal-website-shell .ticket-edit-form textarea{border-color:rgba(239,205,148,.14);background:rgba(9,7,7,.6)}
body.portal-website-shell .ticket-format-tools button,
body.portal-website-shell .file-picker{
  border-color:rgba(239,205,148,.15);background:rgba(255,239,211,.035);color:#cfc1b4;
}
body.portal-website-shell .ticket-format-tools button:hover,
body.portal-website-shell .file-picker:hover{border-color:rgba(230,174,74,.4);background:rgba(226,161,55,.09);color:#f5cf83}
body.portal-website-shell .ticket-pending-file,
body.portal-website-shell .ticket-file{border-color:var(--warm-border);background:rgba(10,8,7,.42)}
body.portal-website-shell .ticket-message-actions,
body.portal-website-shell .ticket-reaction-toolbar,
body.portal-website-shell .ticket-emoji-picker>div{
  border-color:rgba(239,205,148,.17);background:#241e1b;box-shadow:0 16px 45px rgba(0,0,0,.4);
}
body.portal-website-shell .ticket-message-column>.ticket-reactions button{border-color:rgba(239,205,148,.15);background:rgba(255,236,200,.045)}

/* Projekte, Meilensteine und Übergaben */
body.portal-website-shell .portal-project-list{gap:18px}
body.portal-website-shell .portal-project-card>header{padding-bottom:8px}
body.portal-website-shell .portal-project-card h2{color:#fff3e2}
body.portal-website-shell .portal-project-progress{height:9px;background:rgba(8,6,6,.52);box-shadow:inset 0 1px 5px rgba(0,0,0,.4)}
body.portal-website-shell .portal-project-progress i{background:linear-gradient(90deg,#b87520,#f2ca76);box-shadow:0 0 18px rgba(232,174,74,.3)}
body.portal-website-shell .portal-project-card section a,
body.portal-website-shell .ticket-linked-projects>a,
body.portal-website-shell .portal-documents>a,
body.portal-website-shell .portal-handover-files>a{
  border-color:var(--warm-border)!important;border-radius:13px!important;background:rgba(255,236,202,.025)!important;
}
body.portal-website-shell .portal-project-card section a:hover,
body.portal-website-shell .ticket-linked-projects>a:hover,
body.portal-website-shell .portal-documents>a:hover{border-color:rgba(235,183,91,.4)!important;background:rgba(225,160,52,.07)!important}
body.portal-website-shell .portal-milestones li>i{border-color:rgba(236,194,121,.24);background:rgba(255,237,205,.03)}
body.portal-website-shell .milestone-decision,
body.portal-website-shell .milestone-actions,
body.portal-website-shell .portal-handover{border-color:var(--warm-border);background:rgba(255,235,201,.025)}

/* Profil, Sitzungen, Benachrichtigungen und Zusammenführung */
body.portal-website-shell .identity-row,
body.portal-website-shell .session-item{border-color:rgba(239,205,148,.11)}
body.portal-website-shell .session-item{background:linear-gradient(120deg,rgba(38,30,26,.78),rgba(22,18,17,.88))}
body.portal-website-shell .state,
body.portal-website-shell .account-badge{border-color:rgba(239,205,148,.18);background:rgba(255,235,199,.035);color:#cbbdaf}
body.portal-website-shell .portal-notification{border-color:rgba(239,205,148,.11);background:rgba(255,236,201,.02)}
body.portal-website-shell .portal-notification.unread{border-color:rgba(225,165,62,.31);background:rgba(222,155,48,.065)}
body.portal-website-shell .portal-notification-icon{border-color:rgba(238,193,116,.2);background:rgba(229,168,64,.08);color:#f1c875}
body.portal-website-shell .merge-link,
body.portal-website-shell .merge-account-preview,
body.portal-website-shell .merge-comparison article,
body.portal-website-shell .merge-steps li{border-color:var(--warm-border);background:rgba(255,235,199,.025)}

/* Scrollbars */
body.portal-website-shell *{scrollbar-color:rgba(211,151,54,.58) rgba(21,16,14,.6)}
body.portal-website-shell *::-webkit-scrollbar{width:9px;height:9px}
body.portal-website-shell *::-webkit-scrollbar-track{background:rgba(21,16,14,.6)}
body.portal-website-shell *::-webkit-scrollbar-thumb{border:2px solid rgba(21,16,14,.8);border-radius:999px;background:linear-gradient(180deg,#d49b39,#76501c)}

@media(max-width:760px){
  body.portal-website-shell main.portal-main{width:calc(100% - 16px);padding-top:24px}
  body.portal-website-shell .page-head{padding:20px 17px;border-radius:19px}
  body.portal-website-shell .settings-card,
  body.portal-website-shell .auth-card,
  body.portal-website-shell .portal-notifications-card,
  body.portal-website-shell .portal-project-card{border-radius:18px;box-shadow:0 18px 48px rgba(4,2,1,.26)}
  body.portal-website-shell .category-grid article{padding:19px 17px;border-radius:16px}
  body.portal-website-shell .ticket-list a{padding:15px}
  body.portal-website-shell .ticket-chat-card{border-radius:18px}
}
@media(prefers-reduced-motion:reduce){
  body.portal-website-shell .button,
  body.portal-website-shell .category-grid article,
  body.portal-website-shell .ticket-list a{transition:none}
  body.portal-website-shell .button:hover,
  body.portal-website-shell .category-grid article:hover,
  body.portal-website-shell .ticket-list a:hover{transform:none}
}

/* Warteliste und sonstige eigenständige Artikellisten */
body.portal-website-shell .ticket-list>article{display:grid;gap:8px;padding:19px;border:1px solid var(--warm-border);border-radius:17px;background:linear-gradient(120deg,rgba(43,33,27,.9),rgba(23,19,17,.94));box-shadow:0 14px 36px rgba(0,0,0,.18)}
body.portal-website-shell .ticket-list>article>strong{color:#fff1dc;font-size:1.05rem}
body.portal-website-shell .ticket-list>article>small{padding:0;color:#b9aa9c}
body.portal-website-shell .ticket-list>article>a.button{margin-top:2px;color:#201507!important}
body.portal-website-shell .ticket-list>article form{margin-top:2px}
body.portal-website-shell .ticket-list>article button.secondary{min-height:38px;padding:7px 13px;border:1px solid rgba(239,205,148,.2);border-radius:999px;background:rgba(255,238,208,.06);color:#e8c98f;font:inherit;font-weight:750;cursor:pointer}
body.portal-website-shell .ticket-list>article button.secondary:hover{border-color:rgba(232,173,70,.42);background:rgba(232,173,70,.11)}

/* Hotfix 9F4A · einheitliche Linien-Icons */
body.portal-website-shell .dashboard-card-icon svg,
body.portal-website-shell .dashboard-capability-grid article>span svg,
body.portal-website-shell .document-redirect-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* Geschützte Dokumentweiterleitung im Portaldesign */
body.document-redirect-page{display:grid;min-height:100vh;place-items:center}
body.document-redirect-page main.portal-main{width:min(100% - 28px,680px);margin:0;padding:28px 0}
.document-redirect-card{position:relative;display:grid;justify-items:center;gap:13px;overflow:hidden;padding:clamp(28px,7vw,56px);border:1px solid rgba(239,197,126,.19);border-radius:27px;background:linear-gradient(145deg,rgba(47,36,29,.97),rgba(24,20,18,.99));box-shadow:0 35px 100px rgba(4,2,1,.46);text-align:center}
.document-redirect-card::after{content:"";position:absolute;right:-90px;top:-110px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(229,165,59,.16),transparent 68%);pointer-events:none}
.document-redirect-card>*{position:relative;z-index:1}.document-redirect-icon{display:grid;width:66px;height:66px;place-items:center;margin-bottom:4px;border:1px solid rgba(238,192,112,.3);border-radius:20px;background:rgba(224,157,48,.1);color:#f1c774}
.document-redirect-card .eyebrow{margin:0}.document-redirect-card h1{margin:0;color:#fff5e9;font-size:clamp(2rem,7vw,3.4rem);line-height:1;letter-spacing:-.045em}.document-redirect-card>p:not(.eyebrow){max-width:510px;margin:0;color:#c7b9aa;line-height:1.6}.document-redirect-card>p strong{color:#f1d39a}
.document-redirect-progress{width:min(360px,100%);height:5px;margin:7px 0 2px;overflow:hidden;border-radius:999px;background:rgba(9,7,6,.55)}.document-redirect-progress i{display:block;width:65%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#bd7922,#f1c673);animation:document-progress 1s ease-in-out infinite}.document-redirect-note{font-size:.82rem}.document-redirect-card .button{min-width:min(100%,300px)}.document-back-link{color:#dcb66f;text-decoration:none;font-size:.84rem;font-weight:800}.document-back-link:hover{color:#f5d594}
@keyframes document-progress{0%{transform:translateX(-105%)}100%{transform:translateX(160%)}}
@media(max-width:700px){.dashboard-welcome{min-height:490px}.dashboard-welcome-copy{padding:22px 18px}.dashboard-welcome-copy h1{font-size:clamp(2.2rem,11vw,3.25rem)}.document-redirect-card{border-radius:21px;padding:30px 19px}}
@media(prefers-reduced-motion:reduce){.document-redirect-progress i{animation:none;width:100%}}
.withdrawal-box{display:grid;gap:12px;margin:8px 0;padding:18px;border:1px solid rgba(226,177,76,.35);border-radius:18px;background:linear-gradient(145deg,rgba(226,177,76,.08),rgba(255,255,255,.018))}.withdrawal-box legend{padding:0 8px;color:var(--gold-soft,#f3ca72);font-weight:900}.withdrawal-box p{margin:0;color:var(--muted,#c9c2b7);line-height:1.55}.withdrawal-box .check-line{align-items:flex-start;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(8,9,12,.28)}.withdrawal-box .check-line:has(input:checked){border-color:rgba(226,177,76,.55);background:rgba(226,177,76,.09)}
