
:root {
 --red:#e52644;
 --red-soft:#fff0f3;
 --ink:#182238;
 --muted:#738096;
 --line:#edf0f5;
}

html.tw-premium,
html.tw-premium body {
 background:#fafbfd!important;
 color:var(--ink)!important;
 font-family:Inter,-apple-system,BlinkMacSystemFont,
 "Segoe UI",Arial,sans-serif!important;
}

html.tw-premium * {
 box-sizing:border-box;
}

html.tw-premium .side {
 background:#fff!important;
 color:var(--ink)!important;
 border-right:1px solid var(--line)!important;
 box-shadow:4px 0 25px #18223806!important;
}

html.tw-premium .side .brand {
 color:var(--ink)!important;
 background:transparent!important;
 font-size:25px!important;
 font-weight:850!important;
 letter-spacing:-1px;
 padding-bottom:25px!important;
}

html.tw-premium .side .brand span {
 color:var(--red)!important;
}

html.tw-premium .side .nav,
html.tw-premium .side .tw-tarif-link {
 display:block;
 color:#566176!important;
 background:transparent!important;
 border:0!important;
 border-radius:12px!important;
 padding:13px 15px!important;
 margin:5px 9px!important;
 font-weight:600!important;
 box-shadow:none!important;
 text-decoration:none!important;
}

html.tw-premium .side .nav.on {
 background:#ffe9ee!important;
 color:var(--red)!important;
}

html.tw-premium .side .nav:hover,
html.tw-premium .side .tw-tarif-link:hover {
 background:var(--red-soft)!important;
 color:var(--red)!important;
}

html.tw-premium .main {
 background:#fafbfd!important;
}

html.tw-premium #dashboard {
 background:transparent!important;
}

html.tw-premium #dashboard .tw-hero {
 background:#fff!important;
 border:1px solid var(--line)!important;
 border-radius:24px!important;
 padding:30px!important;
 margin-bottom:24px!important;
 box-shadow:0 8px 32px #15233f07!important;
 display:flex!important;
 gap:18px!important;
 align-items:center!important;
 justify-content:space-between!important;
}

html.tw-premium .tw-eyebrow {
 color:var(--red);
 font-weight:800;
 font-size:12px;
 letter-spacing:1.5px;
 margin-bottom:15px;
}

html.tw-premium .tw-hero h1 {
 color:var(--ink)!important;
 font-size:clamp(28px,3.3vw,42px)!important;
 letter-spacing:-1.2px!important;
 margin:0 0 10px!important;
}

html.tw-premium .tw-subtitle {
 color:var(--muted)!important;
 margin:11px 0 0;
 font-size:14px;
 line-height:1.6;
}

html.tw-premium .btn.primary {
 background:var(--red)!important;
 color:white!important;
 border:0!important;
 border-radius:12px!important;
 padding:14px 19px!important;
 box-shadow:0 8px 18px #e5264425!important;
 white-space:normal;
}

html.tw-premium #dashboard .tw-stats {
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:18px!important;
 margin-bottom:22px!important;
}

html.tw-premium #dashboard .tw-stat {
 position:relative!important;
 display:flex!important;
 flex-direction:column!important;
 align-items:flex-start!important;
 justify-content:flex-start!important;
 gap:8px!important;
 min-height:154px!important;
 padding:21px!important;
 background:#fff!important;
 border:1px solid var(--line)!important;
 border-radius:19px!important;
 color:var(--muted)!important;
 box-shadow:0 6px 25px #16233d07!important;
 font-size:13px!important;
 font-weight:600!important;
 text-align:left!important;
}

html.tw-premium .tw-icon {
 display:grid;
 place-items:center;
 width:39px;
 height:39px;
 background:#fff0f3;
 color:var(--red);
 border-radius:12px;
 font-size:21px;
 font-weight:700;
}

html.tw-premium .tw-stat b {
 display:block!important;
 color:var(--ink)!important;
 font-size:34px!important;
 font-weight:800!important;
 line-height:1.1!important;
 margin:2px 0 0!important;
}

html.tw-premium #dashboard .tw-content {
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:20px!important;
 align-items:stretch!important;
}

html.tw-premium #dashboard .tw-panel {
 background:#fff!important;
 border:1px solid var(--line)!important;
 border-radius:20px!important;
 box-shadow:0 8px 28px #16233d07!important;
 padding:25px!important;
 min-width:0!important;
}

html.tw-premium .tw-full {
 grid-column:1/-1;
}

html.tw-premium .tw-panel-heading {
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:10px;
 border-bottom:1px solid var(--line);
 padding-bottom:17px;
 margin-bottom:14px;
}

html.tw-premium .tw-panel-heading h3 {
 margin:0!important;
 color:var(--ink)!important;
 font-size:19px!important;
}

html.tw-premium .tw-panel-heading span {
 color:var(--red);
 font-weight:750;
 font-size:10px;
 letter-spacing:.5px;
}

html.tw-premium .tw-panel .list {
 color:var(--ink)!important;
}

html.tw-premium .tw-panel .list > * {
 border-color:var(--line)!important;
}

html.tw-premium .v22-mobile-header {
 background:#fff!important;
 color:var(--ink)!important;
 border-bottom:1px solid var(--line)!important;
 box-shadow:0 2px 15px #18223808!important;
}

html.tw-premium .v22-logo-tirol {
 color:var(--ink)!important;
}

html.tw-premium .v22-logo-work,
html.tw-premium .v22-logo-mark {
 color:var(--red)!important;
}

html.tw-premium .v22-menu-btn {
 background:#fff0f3!important;
 color:var(--red)!important;
 border:1px solid #ffe3e9!important;
}

html.tw-premium .muted {
 color:var(--muted)!important;
}

html.tw-premium .card {
 border-color:var(--line)!important;
}

/* Mein Tarif – matching dashboard */
html.tw-premium-tarif body {
 margin:0!important;
 display:block!important;
 background:#fafbfd!important;
}

.tw-brand {
 text-decoration:none;
 color:var(--ink);
 font-size:26px;
 font-weight:850;
 letter-spacing:-1px;
}

.tw-brand span {
 color:var(--red);
}

.tw-tarif-sidebar {
 position:fixed;
 top:0;
 left:0;
 bottom:0;
 width:248px;
 background:#fff;
 border-right:1px solid var(--line);
 padding:29px 16px;
 display:flex;
 flex-direction:column;
 z-index:10;
}

.tw-tarif-sidebar .tw-brand {
 margin:0 12px 35px;
}

.tw-tarif-sidebar nav {
 display:grid;
 gap:7px;
}

.tw-tarif-sidebar nav a {
 padding:14px;
 border-radius:12px;
 text-decoration:none;
 color:#59657b;
 font-weight:600;
}

.tw-tarif-sidebar nav a.selected {
 background:#ffedf1;
 color:var(--red);
}

.tw-sidebar-footer {
 margin-top:auto;
 color:#a5adbc;
 font-size:12px;
 line-height:1.8;
 padding:12px;
}

.tw-tarif-layout {
 margin-left:248px;
 min-height:100vh;
}

.tw-header {
 background:#fff;
 border-bottom:1px solid var(--line);
 display:flex;
 justify-content:space-between;
 align-items:center;
 padding:21px 5%;
}

.tw-header .tw-brand {
 font-size:22px;
}

.tw-return {
 color:#647087;
 text-decoration:none;
 font-weight:600;
}

.tw-tarif-content {
 max-width:1100px;
 padding:48px 5% 70px;
 margin:auto;
}

.tw-tarif-content h1 {
 font-size:clamp(37px,5vw,58px);
 letter-spacing:-1.5px;
 margin:0 0 10px;
 color:var(--ink);
}

.tw-tarif-content h1 span {
 color:var(--red);
}

.tw-tarif-intro {
 color:var(--muted);
 margin-bottom:30px;
}

.tw-current-plan,
.tw-usage-card {
 background:white;
 border:1px solid var(--line);
 border-radius:22px;
 padding:30px;
 box-shadow:0 8px 30px #18223807;
}

.tw-current-plan {
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:15px;
 border-top:3px solid var(--red);
}

.tw-small-label {
 font-size:12px;
 font-weight:800;
 letter-spacing:1px;
 color:#8490a2;
}

.tw-current-plan h2 {
 font-size:31px;
 margin:18px 0 9px;
 color:var(--ink);
}

.tw-current-plan p,
.tw-usage-card p {
 color:var(--muted);
}

.tw-price {
 display:inline-block;
 margin-top:10px;
 padding:10px 14px;
 background:#fff0f3;
 color:var(--red);
 border-radius:10px;
 font-weight:800;
}

.tw-plan-art {
 width:110px;
 height:110px;
 border-radius:50%;
 background:#fff0f3;
 color:#ef8c9d;
 display:grid;
 place-items:center;
 font-size:65px;
 flex-shrink:0;
}

.tw-usage-grid {
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:20px;
 margin-top:20px;
}

.tw-usage-card {
 position:relative;
}

.tw-usage-card h2 {
 font-size:38px;
 color:var(--ink);
 margin:18px 0 5px;
}

.tw-usage-icon {
 position:absolute;
 right:25px;
 top:25px;
 display:grid;
 place-items:center;
 width:43px;
 height:43px;
 background:#fff0f3;
 color:var(--red);
 border-radius:12px;
 font-size:22px;
}

.tw-upgrade {
 margin-top:25px;
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:20px;
 background:#fff;
 border:1px solid var(--line);
 border-radius:22px;
 padding:26px;
}

.tw-upgrade h3 {
 margin:0 0 8px;
 color:var(--ink);
 font-size:20px;
}

.tw-upgrade p {
 margin:0;
 color:var(--muted);
 line-height:1.6;
}

.tw-upgrade a {
 background:var(--red);
 color:white;
 border-radius:12px;
 padding:15px 20px;
 font-weight:750;
 text-decoration:none;
 white-space:nowrap;
}

.tw-warning {
 margin-top:20px;
 color:#8e6c76;
 font-size:13px;
 line-height:1.7;
}

html.tw-premium [hidden] {
 display:none!important;
}

@media(max-width:900px) {
 html.tw-premium #dashboard .tw-stats {
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }

 html.tw-premium #dashboard .tw-content {
  grid-template-columns:1fr!important;
 }

 html.tw-premium .tw-full {
  grid-column:auto;
 }

 .tw-tarif-sidebar {
  display:none;
 }

 .tw-tarif-layout {
  margin-left:0;
 }
}

@media(max-width:600px) {
 html.tw-premium #dashboard .tw-hero {
  padding:22px!important;
  flex-direction:column!important;
  align-items:stretch!important;
 }

 html.tw-premium #dashboard .tw-stats {
  gap:11px!important;
 }

 html.tw-premium #dashboard .tw-stat {
  min-height:139px!important;
  padding:16px!important;
 }

 html.tw-premium .tw-stat b {
  font-size:28px!important;
 }

 html.tw-premium .tw-panel {
  padding:19px!important;
 }

 .tw-header {
  padding:18px;
 }

 .tw-tarif-content {
  padding:32px 17px;
 }

 .tw-current-plan {
  padding:23px;
 }

 .tw-plan-art {
  width:65px;
  height:65px;
  font-size:39px;
 }

 .tw-usage-grid {
  grid-template-columns:1fr;
 }

 .tw-upgrade {
  flex-direction:column;
  align-items:stretch;
 }

 .tw-upgrade a {
  text-align:center;
 }
}


/* ===== TIROLWORK WHITE MOBILE V3 ===== */

/* Bright white sidebar - desktop and mobile */
html.tw-premium body aside.side,
html.tw-premium body aside.side.open,
html.tw-premium body aside.side.active,
html.tw-premium body aside.side.show {
 background:#ffffff !important;
 background-color:#ffffff !important;
 background-image:none !important;
 color:#182238 !important;
 border-right:1px solid #edf0f5 !important;
 box-shadow:6px 0 35px #18223812 !important;
}

/* Sidebar branding */
html.tw-premium body aside.side .brand {
 color:#182238 !important;
 background:#ffffff !important;
}

html.tw-premium body aside.side .brand span {
 color:#e52644 !important;
}

/* Sidebar navigation */
html.tw-premium body aside.side .nav,
html.tw-premium body aside.side .tw-tarif-link {
 background:transparent !important;
 background-image:none !important;
 color:#33415c !important;
 border:0 !important;
 box-shadow:none !important;
 border-radius:12px !important;
 text-align:left !important;
}

/* Selected navigation */
html.tw-premium body aside.side .nav.on {
 background:#fff0f3 !important;
 color:#e52644 !important;
 box-shadow:none !important;
}

/* Sidebar hover */
html.tw-premium body aside.side .nav:hover,
html.tw-premium body aside.side .tw-tarif-link:hover {
 background:#fff0f3 !important;
 color:#e52644 !important;
}

/* Prevent duplicate dashboard icons */
html.tw-premium body #dashboard .tw-stat::before,
html.tw-premium body #dashboard .tw-stat::after,
html.tw-premium body #dashboard .tw-stat .tw-label::before {
 content:none !important;
 display:none !important;
}

/* New unified line icons */
html.tw-premium body #dashboard .tw-stat svg.tw-icon {
 display:block !important;
 width:44px !important;
 height:44px !important;
 padding:11px !important;
 flex-shrink:0 !important;
 color:#e52644 !important;
 background:#fff0f3 !important;
 border-radius:13px !important;
}

/* Elegant statistic cards */
html.tw-premium body #dashboard .tw-stat {
 background:#fff !important;
 background-image:none !important;
 border:1px solid #e9edf3 !important;
 box-shadow:0 8px 24px #18223808 !important;
}

/* White mobile header */
html.tw-premium body .v22-mobile-header {
 background:#ffffff !important;
 background-image:none !important;
 border-bottom:1px solid #edf0f5 !important;
}

/* Bright dashboard surfaces */
html.tw-premium body .main,
html.tw-premium body #dashboard {
 background:#fafbfd !important;
}

/* Mobile refinements */
@media(max-width:700px) {
 html.tw-premium body aside.side {
  background:#ffffff !important;
  background-image:none !important;
 }

 html.tw-premium body #dashboard .tw-stat {
  padding:17px !important;
  min-height:145px !important;
 }

 html.tw-premium body #dashboard .tw-stat svg.tw-icon {
  width:40px !important;
  height:40px !important;
  padding:10px !important;
 }

 html.tw-premium body #dashboard .tw-stat b {
  font-size:30px !important;
 }
}
