:root{
  --blue:#0A84FF;
  --blue2:#4AA3FF;
  --blue3:#DCEEFF;
  --navy:#15345B;
  --text:#142033;
  --muted:#748399;
  --line:rgba(24,73,125,.12);
  --bg:#F4F8FC;
  --panel:rgba(255,255,255,.86);
  --shadow:0 18px 50px rgba(34,77,126,.12);
  --radius:22px;
}
*{box-sizing:border-box}html{background:var(--bg);color:var(--text)}body{margin:0}a{text-decoration:none;color:inherit}button,input,select{font:inherit}
.cloud-body{background:linear-gradient(180deg,#EEF6FF 0,#F8FBFF 34%,#F4F7FB 100%);min-height:100vh}
.cloud-shell{display:grid;grid-template-columns:252px 1fr;min-height:100vh}

.sidebar{
  position:sticky;top:0;height:100vh;padding:24px 16px 18px;
  background:linear-gradient(180deg,rgba(255,255,255,.93),rgba(245,250,255,.9));
  border-right:1px solid rgba(30,93,160,.10);
  backdrop-filter:blur(24px);
  display:flex;flex-direction:column;z-index:30
}
.brand-block{display:flex;align-items:center;gap:12px;padding:6px 12px 26px}.brand-block strong,.brand-block small{display:block}.brand-block strong{font-size:17px;color:#0C2C58}.brand-block small{font-size:.78rem;color:#6F83A0;margin-top:3px}
.cloud-logo{width:48px;height:48px;display:grid;place-items:center}.cloud-shape{width:43px;height:28px;border-radius:18px;background:linear-gradient(180deg,#47A9FF,#087AF5);box-shadow:0 10px 24px rgba(10,132,255,.27);position:relative}.cloud-shape:before,.cloud-shape:after{content:"";position:absolute;background:inherit;border-radius:50%}.cloud-shape:before{width:22px;height:22px;left:7px;top:-9px}.cloud-shape:after{width:18px;height:18px;right:5px;top:-5px}

.side-nav{display:grid;gap:6px}.side-nav a{min-height:44px;padding:0 12px;border-radius:12px;display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:7px;color:#35557D;font-size:14px;font-weight:600}.side-nav a:hover{background:rgba(10,132,255,.07)}.side-nav a.active{background:linear-gradient(90deg,#3D97FA,#78B7FF);color:white;box-shadow:0 10px 22px rgba(10,132,255,.22)}.side-nav .nav-icon{font-size:17px;text-align:center}.side-nav em{font-style:normal;font-size:.78rem;color:#9BAABD}.side-nav b{font-size:.78rem;background:#0A84FF;color:white;border-radius:999px;padding:3px 6px}.side-nav a.disabled{opacity:.58}.side-nav a.disabled:hover{background:transparent}.nav-section{font-size:.78rem;letter-spacing:.08em;color:#9AA9BA;padding:22px 12px 5px}
.storage-card{margin-top:auto;background:rgba(255,255,255,.75);border:1px solid rgba(30,93,160,.10);padding:14px;border-radius:16px}.storage-head{display:flex;justify-content:space-between;gap:10px;font-size:.78rem}.storage-head span{font-weight:700}.storage-head strong{color:#3C77B9}.storage-bar{height:6px;background:#E9F0F7;border-radius:999px;margin:10px 0;overflow:hidden}.storage-bar i{display:block;height:100%;background:linear-gradient(90deg,#0A84FF,#76B9FF);border-radius:999px}.storage-card small{display:block;color:#8493A7;font-size:.78rem;line-height:1.4}.side-footer{padding:18px 12px 0;font-size:.78rem;color:#94A1B2}

.content{min-width:0;padding:0 28px 24px}.topbar{height:72px;display:flex;justify-content:space-between;align-items:center}.top-actions{display:flex;align-items:center;gap:10px}.round-btn{width:40px;height:40px;border:0;border-radius:14px;background:rgba(255,255,255,.75);color:#244D7D;box-shadow:0 8px 24px rgba(50,91,139,.10);cursor:pointer}
.profile-menu{position:relative}.profile-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.75);padding:5px 10px 5px 5px;border-radius:15px;box-shadow:0 8px 24px rgba(50,91,139,.10)}.profile-menu summary::-webkit-details-marker{display:none}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#5EB4FF,#0A84FF);color:white;font-weight:800;box-shadow:0 8px 18px rgba(10,132,255,.22)}.avatar.large{width:48px;height:48px}.avatar.add{background:#E9F4FF;color:#0A84FF;box-shadow:none}.profile-name{font-size:13px;font-weight:700}.chevron{color:#7590AF}.profile-popover{position:absolute;right:0;top:54px;width:260px;background:rgba(255,255,255,.96);border:1px solid rgba(20,71,128,.1);box-shadow:0 22px 60px rgba(34,77,126,.18);border-radius:18px;padding:10px;z-index:100;backdrop-filter:blur(18px)}.profile-card-head{display:flex;gap:10px;align-items:center;padding:8px 9px 12px}.profile-card-head strong,.profile-card-head small{display:block}.profile-card-head small{font-size:.78rem;color:#8493A7;margin-top:3px}.profile-popover a{display:block;padding:10px;border-radius:10px;font-size:13px}.profile-popover a:hover{background:#F0F6FC}.profile-popover hr{border:0;border-top:1px solid #E6EEF6}.profile-popover .logout-link{color:#FF3B30}

.hero-card{position:relative;min-height:255px;border-radius:28px;overflow:hidden;padding:42px 38px;background:
 radial-gradient(circle at 78% 20%,rgba(255,255,255,.35),transparent 28%),
 linear-gradient(135deg,#075EB9 0%,#0A84FF 48%,#69B8FF 100%);
 color:white;box-shadow:0 24px 50px rgba(10,89,172,.22)}
.hero-card:after{content:"";position:absolute;inset:auto 0 0;height:86px;background:linear-gradient(180deg,transparent,rgba(4,49,104,.17))}
.hero-orb{position:absolute;border-radius:50%;filter:blur(1px);background:rgba(255,255,255,.12)}.orb-one{width:240px;height:240px;right:13%;top:-60px}.orb-two{width:140px;height:140px;right:28%;bottom:-70px}.hero-content{position:relative;z-index:2;max-width:650px}.eyebrow{font-size:.78rem;letter-spacing:.15em;font-weight:800;opacity:.8}.hero-content h1{font-size:43px;line-height:1.04;margin:13px 0 12px;letter-spacing:-.035em}.hero-content p{font-size:16px;margin:0;opacity:.88}.hero-status{position:absolute;right:30px;bottom:24px;z-index:3;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:14px 17px;backdrop-filter:blur(18px);min-width:200px}.hero-status span,.hero-status strong,.hero-status small{display:block}.hero-status span{font-size:.78rem;opacity:.85}.hero-status strong{font-size:25px;margin:6px 0}.hero-status small{font-size:.78rem;opacity:.8}

.quick-modules{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0}.quick-module{display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:10px;background:var(--panel);border:1px solid rgba(30,93,160,.08);border-radius:18px;padding:13px 14px;box-shadow:0 10px 30px rgba(50,91,139,.08);backdrop-filter:blur(16px)}.quick-module:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(50,91,139,.12)}.quick-module.disabled{opacity:.58}.quick-module .tile-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:19px;font-weight:800}.tile-icon.file{background:#E8F2FF;color:#3D8EFF}.tile-icon.photo{background:linear-gradient(135deg,#FFD35A,#FE5D5D,#8B5CF6);color:white}.tile-icon.shop{background:#E9F6FF;color:#0A84FF}.tile-icon.cal{background:#EDF0FF;color:#5D61E8}.quick-module strong,.quick-module small{display:block}.quick-module strong{font-size:13px}.quick-module small{font-size:.78rem;color:#8191A4;margin-top:3px}.quick-module i{font-style:normal;color:#6F8FB2}

.dashboard-grid{display:grid;grid-template-columns:1.2fr .85fr .72fr;gap:16px;align-items:start}.glass-panel{background:var(--panel);border:1px solid rgba(30,93,160,.08);border-radius:20px;box-shadow:0 12px 35px rgba(50,91,139,.08);backdrop-filter:blur(18px)}.activity-panel,.shopping-panel,.family-panel,.access-panel{padding:18px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px}.panel-head h2{font-size:16px;margin:0}.panel-head p{font-size:.78rem;color:#8A98A8;margin:3px 0 0}.panel-head a{font-size:.78rem;color:#0A84FF;font-weight:700}.activity-list{display:grid}.activity-row{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #EDF2F6}.activity-row:last-child{border-bottom:0}.activity-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#5EB4FF,#0A84FF);color:white;font-weight:900}.activity-main strong,.activity-main small{display:block}.activity-main strong{font-size:.78rem}.activity-main small{font-size:.78rem;color:#8593A6;margin-top:2px}.activity-row time{font-size:.78rem;color:#95A2B2}.mini-shopping{display:grid}.mini-shop-row{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #EDF2F6}.fake-check{width:18px;height:18px;border:1.5px solid #B6C8D9;border-radius:5px}.mini-shop-row strong,.mini-shop-row small{display:block}.mini-shop-row strong{font-size:.78rem}.mini-shop-row small{font-size:.78rem;color:#8896A8}.soft-action{margin-top:12px;display:block;border:1px solid #DCE7F2;background:#F7FAFD;border-radius:10px;padding:9px 10px;font-size:.78rem;color:#7290AE}.family-list{display:grid;gap:10px}.family-row{display:grid;grid-template-columns:42px 1fr 10px;gap:9px;align-items:center}.family-row strong,.family-row small{display:block}.family-row strong{font-size:.78rem}.family-row small{font-size:.78rem;color:#8593A6;margin-top:2px}.online-dot{width:8px;height:8px;border-radius:50%;background:#25C987}.muted-row{opacity:.58}.promo-panel{grid-column:1/3;display:grid;grid-template-columns:70px 1fr 240px;gap:18px;align-items:center;padding:22px}.promo-icon{font-size:46px;color:#0A84FF}.promo-panel h2{font-size:17px;margin:0 0 7px}.promo-panel p{font-size:.78rem;color:#7C8DA3;line-height:1.55;margin:0}.promo-actions{display:flex;gap:8px;margin-top:14px}.primary-btn,.secondary-btn{border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}.primary-btn{background:linear-gradient(180deg,#2194FF,#0A84FF);color:white;box-shadow:0 8px 18px rgba(10,132,255,.22)}.secondary-btn{background:#EFF5FB;color:#47719D}.primary-btn[disabled],.secondary-btn[disabled]{opacity:.6;cursor:not-allowed}.device-stack{position:relative;height:100px}.device{position:absolute;bottom:0;background:linear-gradient(180deg,#0B2340 0 7%,#DDEFFF 7% 92%,#C7D7E6 92%);border-radius:7px;border:2px solid #0B2340;box-shadow:0 8px 18px rgba(26,61,99,.18)}.device.laptop{width:130px;height:82px;left:0}.device.tablet{width:72px;height:90px;left:100px}.device.phone{width:36px;height:70px;left:163px}.access-panel{grid-column:3}.access-row{display:grid;grid-template-columns:22px 1fr;gap:8px;padding:9px 10px;border-radius:9px;background:#F4F8FC;margin:6px 0;font-size:.78rem}.access-row:hover{background:#ECF4FC}.access-row.disabled{opacity:.45}.empty-state{padding:16px;color:#8A99AB;font-size:.78rem}.empty-state.large{text-align:center;padding:35px}.main-footer{display:flex;justify-content:center;gap:26px;align-items:center;font-size:.78rem;color:#91A0B2;padding:22px}.main-footer strong{margin-left:auto;color:#4E6F95;font-style:italic}

.settings-body{background:linear-gradient(160deg,#EEF6FF,#F8FBFF 48%,#F1F6FB);min-height:100vh}.settings-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.settings-sidebar{padding:26px 18px;border-right:1px solid rgba(30,93,160,.1);background:rgba(255,255,255,.72);backdrop-filter:blur(20px)}.settings-sidebar h1{font-size:22px;margin:22px 8px 16px}.settings-sidebar nav{display:grid;gap:6px}.settings-sidebar nav a{padding:10px 12px;border-radius:11px;color:#476786;font-size:13px}.settings-sidebar nav a:hover,.settings-sidebar nav a.active{background:#EAF4FF;color:#0A84FF}.back-link{font-size:.78rem;color:#5D7FA0}.settings-content{width:min(900px,calc(100% - 36px));margin:0 auto;padding:30px 0 60px}.settings-hero{min-height:150px;border-radius:24px;padding:26px 28px;background:linear-gradient(135deg,#0A84FF,#62B2FF);color:white;display:flex;justify-content:space-between;align-items:center;box-shadow:0 22px 44px rgba(10,132,255,.2)}.settings-kicker{font-size:.78rem;letter-spacing:.14em;font-weight:800;opacity:.75}.settings-hero h2{font-size:32px;margin:7px 0 5px}.settings-hero p{margin:0;font-size:13px;opacity:.85}.settings-avatar{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.35);font-size:24px;font-weight:800}.settings-card{background:rgba(255,255,255,.88);border:1px solid rgba(30,93,160,.09);border-radius:20px;padding:20px;margin-top:16px;box-shadow:0 12px 34px rgba(50,91,139,.07)}.settings-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.settings-card-head h3{margin:0;font-size:16px}.settings-card-head p{margin:3px 0 0;color:#8796A8;font-size:.78rem}.settings-icon{width:38px;height:38px;border-radius:12px;background:#EAF4FF;color:#0A84FF;display:grid;place-items:center}.settings-form{display:grid;gap:12px}.settings-form.compact{margin-top:18px;padding-top:16px;border-top:1px solid #EDF2F6}.settings-form h4{margin:0 0 2px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-form label{display:grid;gap:6px;font-size:.78rem;color:#64768D;font-weight:700}.settings-form input{width:100%;border:1px solid #DCE6F0;background:#FBFDFF;border-radius:10px;padding:10px 11px;color:#1D2D42;outline:none}.settings-form input:focus{border-color:#7AB9F6;box-shadow:0 0 0 3px rgba(10,132,255,.08)}.settings-form input:disabled{background:#F3F6F9;color:#95A3B2}.form-actions{display:flex;justify-content:flex-end}.security-badge{display:flex;gap:10px;align-items:center;border-radius:13px;padding:12px 14px}.security-badge.good{background:#EBFAF4;color:#256B52}.security-badge.warn{background:#FFF7E5;color:#806220}.status-dot{width:9px;height:9px;border-radius:50%;background:#2ACB91}.security-badge.warn .status-dot{background:#F0AE38}.security-badge strong,.security-badge small{display:block}.security-badge small{font-size:.78rem;opacity:.7;margin-top:2px}.button-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.button-row form{display:inline}.future-setting{display:flex;justify-content:space-between;gap:15px;align-items:center;background:#F7FAFD;border:1px solid #E8EFF6;border-radius:12px;padding:13px 14px}.future-setting strong,.future-setting small{display:block}.future-setting strong{font-size:.78rem}.future-setting small{font-size:.78rem;color:#8795A6;margin-top:3px}.pill{font-size:.78rem;padding:5px 8px;border-radius:999px;background:#E9F4FF;color:#0A84FF;font-weight:700}.appearance-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.appearance-choice{border:1px solid #E2EAF2;background:#FBFDFF;border-radius:13px;padding:10px;text-align:left;color:#4F6780}.appearance-choice.selected{border-color:#8DC5FB;box-shadow:0 0 0 3px rgba(10,132,255,.06)}.theme-preview{display:block;height:48px;border-radius:9px;margin-bottom:9px}.theme-preview.light{background:linear-gradient(135deg,#fff,#EAF4FF)}.theme-preview.dark{background:linear-gradient(135deg,#17202A,#33485F)}.theme-preview.auto{background:linear-gradient(90deg,#fff 0 50%,#26394D 50%)}.appearance-choice strong,.appearance-choice small{display:block}.appearance-choice small{font-size:.78rem;color:#8A99AA;margin-top:2px}.storage-overview{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center}.storage-ring{width:64px;height:64px;border-radius:50%;background:conic-gradient(#0A84FF 0 1%,#E8EFF6 1%);display:grid;place-items:center;position:relative}.storage-ring:before{content:"";position:absolute;width:50px;height:50px;border-radius:50%;background:white}.storage-ring span{position:relative;font-size:.78rem;font-weight:800;color:#0A84FF}.storage-overview strong,.storage-overview small{display:block}.storage-overview strong{font-size:.78rem}.storage-overview small{font-size:.78rem;color:#8392A4;margin-top:4px}.toast{padding:12px 14px;border-radius:11px;margin-top:14px;font-size:.78rem}.toast.success{background:#EAF9F3;color:#22644D}.toast.error{background:#FFF0F0;color:#993C3C}

.module-body{min-height:100vh;background:linear-gradient(160deg,#EEF6FF,#F8FBFF 55%,#F2F6FA)}.module-shell{width:min(980px,calc(100% - 32px));margin:0 auto;padding:26px 0}.module-topbar{display:flex;align-items:center;gap:22px;margin-bottom:20px}.module-topbar h1{font-size:28px;margin:0}.module-topbar p{font-size:.78rem;color:#8190A1;margin:4px 0 0}.module-main{display:block}.module-card{padding:18px}.shopping-add-modern{display:grid;grid-template-columns:1fr 140px 48px;gap:9px}.shopping-add-modern input{border:1px solid #DCE6F0;background:#FBFDFF;border-radius:10px;padding:11px}.shopping-modern-list{display:grid;margin-top:14px}.shopping-modern-row{display:grid;grid-template-columns:42px 1fr 40px;align-items:center;gap:9px;padding:12px 4px;border-bottom:1px solid #EDF2F6}.circle-check,.icon-only{border:0;background:transparent;cursor:pointer}.circle-check{font-size:25px;color:#92A8BC}.icon-only{font-size:16px}.icon-only.danger{opacity:.55}.shop-text strong,.shop-text small{display:block}.shop-text strong{font-size:13px}.shop-text small{font-size:.78rem;color:#8696A8;margin-top:3px}.audit-modern-list{display:grid;gap:8px}.audit-modern-row{border:1px solid #E6EDF4;background:#FBFDFF;border-radius:13px;overflow:hidden}.audit-modern-row summary{list-style:none;display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:12px;cursor:pointer}.audit-modern-row summary::-webkit-details-marker{display:none}.audit-modern-row summary strong,.audit-modern-row summary small{display:block}.audit-modern-row summary strong{font-size:.78rem}.audit-modern-row summary small{font-size:.78rem;color:#8796A8;margin-top:3px}.audit-modern-row pre{margin:0;padding:12px;background:#F4F7FA;border-top:1px solid #E6EDF4;white-space:pre-wrap;word-break:break-word;font-size:.78rem}
.back-link{font-size:.78rem;color:#5C7EA1}

.center{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,#EEF6FF,#F9FBFD)}.card{background:rgba(255,255,255,.92);width:min(650px,100%);padding:28px;border:1px solid rgba(30,93,160,.1);border-radius:22px;box-shadow:0 20px 60px rgba(34,77,126,.12)}.login{max-width:430px}.mark{width:48px;height:48px;border-radius:14px;background:linear-gradient(180deg,#47A9FF,#087AF5);color:white;display:grid;place-items:center;font-weight:900;box-shadow:0 10px 25px rgba(10,132,255,.22)}.muted{color:#718079}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}form{display:grid;gap:12px}label{display:grid;gap:5px;font-weight:700;font-size:13px}input{padding:11px;border:1px solid #DCE6F0;border-radius:10px;font:inherit}button{font:inherit}.error,.warning{padding:12px;border-radius:10px;margin:12px 0}.error{background:#fff0f0;color:#922}.warning{background:#fff7df}.secret{display:block;padding:14px;background:#111;color:#fff;border-radius:10px;word-break:break-all}.codes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.codes code{background:#f2f4f3;padding:10px;border-radius:8px;text-align:center}

@media(max-width:1180px){
  .quick-modules{grid-template-columns:1fr 1fr}
  .dashboard-grid{grid-template-columns:1fr 1fr}
  .family-panel,.access-panel{grid-column:auto}
  .promo-panel{grid-column:1/3}
}
@media(max-width:820px){
  .cloud-shell{display:block}.sidebar{position:static;height:auto}.storage-card,.side-footer{display:none}.side-nav{grid-template-columns:repeat(3,1fr)}.side-nav a{grid-template-columns:24px 1fr}.side-nav a em,.nav-section{display:none}
  .content{padding:0 14px 20px}.topbar{height:64px}.hero-card{min-height:230px;padding:30px 24px}.hero-content h1{font-size:34px}.hero-status{position:relative;right:auto;bottom:auto;margin-top:22px;display:inline-block}.quick-modules{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.promo-panel,.access-panel{grid-column:auto}.promo-panel{grid-template-columns:56px 1fr}.device-stack{display:none}.profile-name{display:none}
  .settings-shell{display:block}.settings-sidebar{border-right:0;border-bottom:1px solid rgba(30,93,160,.1)}.settings-sidebar nav{grid-template-columns:repeat(3,1fr)}.settings-content{width:min(100% - 24px,900px)}.appearance-options{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .side-nav{grid-template-columns:1fr 1fr}.brand-block{padding-bottom:18px}.hero-card{border-radius:22px}.hero-content h1{font-size:30px}.quick-modules{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}.main-footer{flex-wrap:wrap;justify-content:flex-start}.main-footer strong{margin-left:0}.shopping-add-modern{grid-template-columns:1fr 90px 48px}.settings-sidebar nav{grid-template-columns:1fr 1fr}.codes{grid-template-columns:1fr}.grid{grid-template-columns:1fr}
}


/* =========================================================
   V4 THEMES
   ========================================================= */
.appearance-choice{cursor:pointer;position:relative}
.appearance-choice input[type="radio"]{position:absolute;opacity:0;pointer-events:none}
.theme-form{display:grid;gap:14px}

/* Dark theme — Apple-inspired Midnight Blue */
.theme-dark{
  --blue:#2F9BFF;
  --blue2:#65B8FF;
  --blue3:#173A5E;
  --navy:#D9EBFF;
  --text:#F2F7FC;
  --muted:#91A8BF;
  --line:rgba(151,193,235,.14);
  --bg:#07121F;
  --panel:rgba(14,31,49,.88);
  --shadow:0 18px 50px rgba(0,0,0,.34);
  background:#07121F;
  color:var(--text);
}
.theme-dark.cloud-body,
.theme-dark.settings-body,
.theme-dark.module-body{
  background:
    radial-gradient(circle at 70% -10%,rgba(19,94,166,.27),transparent 34%),
    linear-gradient(180deg,#07121F 0%,#0A1624 46%,#08131F 100%);
  color:var(--text);
}
.theme-dark .sidebar{
  background:linear-gradient(180deg,rgba(7,20,34,.96),rgba(8,24,39,.94));
  border-right-color:rgba(129,177,224,.12);
}
.theme-dark .brand-block strong{color:#F3F8FD}
.theme-dark .brand-block small,
.theme-dark .side-footer,
.theme-dark .storage-card small{color:#829AB1}
.theme-dark .side-nav a{color:#C3D3E3}
.theme-dark .side-nav a:hover{background:rgba(58,142,225,.10)}
.theme-dark .side-nav a.active{background:linear-gradient(90deg,#1265B9,#217FD5);color:#fff}
.theme-dark .nav-section{color:#607B94}
.theme-dark .storage-card{
  background:rgba(14,35,55,.78);
  border-color:rgba(119,170,218,.12)
}
.theme-dark .storage-bar{background:#1A3046}
.theme-dark .round-btn,
.theme-dark .profile-menu summary{
  background:rgba(14,34,53,.86);
  color:#D9EBFB;
  box-shadow:0 8px 24px rgba(0,0,0,.22)
}
.theme-dark .profile-popover{
  background:rgba(9,24,39,.97);
  border-color:rgba(135,180,221,.13);
  box-shadow:0 24px 64px rgba(0,0,0,.46)
}
.theme-dark .profile-popover a{color:#DCE9F6}
.theme-dark .profile-popover a:hover{background:#132B43}
.theme-dark .profile-popover hr{border-color:#1A344D}
.theme-dark .hero-card{
  background:
    radial-gradient(circle at 78% 20%,rgba(94,170,240,.16),transparent 28%),
    linear-gradient(135deg,#06213D 0%,#0A3C70 48%,#105A99 100%);
  box-shadow:0 24px 58px rgba(0,0,0,.38)
}
.theme-dark .hero-status{
  background:rgba(6,26,45,.35);
  border-color:rgba(169,208,242,.17)
}
.theme-dark .quick-module,
.theme-dark .glass-panel,
.theme-dark .settings-card,
.theme-dark .module-card{
  background:rgba(12,29,46,.88);
  border-color:rgba(123,170,216,.12);
  box-shadow:0 12px 35px rgba(0,0,0,.20)
}
.theme-dark .quick-module strong,
.theme-dark .panel-head h2,
.theme-dark .activity-main strong,
.theme-dark .mini-shop-row strong,
.theme-dark .family-row strong,
.theme-dark .promo-panel h2,
.theme-dark .settings-card-head h3,
.theme-dark .future-setting strong,
.theme-dark .storage-overview strong,
.theme-dark .shop-text strong,
.theme-dark .audit-modern-row summary strong{
  color:#F2F7FC
}
.theme-dark .quick-module small,
.theme-dark .panel-head p,
.theme-dark .activity-main small,
.theme-dark .activity-row time,
.theme-dark .mini-shop-row small,
.theme-dark .family-row small,
.theme-dark .promo-panel p,
.theme-dark .settings-card-head p,
.theme-dark .future-setting small,
.theme-dark .storage-overview small,
.theme-dark .shop-text small,
.theme-dark .audit-modern-row summary small,
.theme-dark .module-topbar p{color:#87A0B8}
.theme-dark .activity-row,
.theme-dark .mini-shop-row,
.theme-dark .shopping-modern-row{
  border-bottom-color:#173149
}
.theme-dark .fake-check{border-color:#54728F}
.theme-dark .soft-action,
.theme-dark .access-row,
.theme-dark .future-setting{
  background:#10283F;
  border-color:#1A3A57;
  color:#A9C2D9
}
.theme-dark .access-row:hover{background:#14324E}
.theme-dark .tile-icon.file{background:#173A5B;color:#67B8FF}
.theme-dark .tile-icon.shop{background:#113452;color:#4BAEFF}
.theme-dark .tile-icon.cal{background:#1D3159;color:#8A9DFF}
.theme-dark .device{filter:brightness(.76) saturate(.9)}
.theme-dark .main-footer{color:#7089A1}
.theme-dark .main-footer strong{color:#9AB8D4}

/* Settings dark */
.theme-dark .settings-sidebar{
  background:rgba(7,20,34,.92);
  border-color:rgba(118,164,207,.12)
}
.theme-dark .settings-sidebar h1{color:#F2F7FC}
.theme-dark .settings-sidebar nav a{color:#B4C7DA}
.theme-dark .settings-sidebar nav a:hover,
.theme-dark .settings-sidebar nav a.active{
  background:#102D48;color:#58B1FF
}
.theme-dark .settings-hero{
  background:linear-gradient(135deg,#0B4D89,#0E70C5);
  box-shadow:0 22px 48px rgba(0,0,0,.30)
}
.theme-dark .settings-form label{color:#A9BDD0}
.theme-dark .settings-form input{
  background:#0C2135;
  border-color:#1D3D59;
  color:#EEF6FD
}
.theme-dark .settings-form input:disabled{
  background:#101E2B;color:#6F8498
}
.theme-dark .settings-form input:focus{
  border-color:#318FDF;
  box-shadow:0 0 0 3px rgba(47,155,255,.10)
}
.theme-dark .security-badge.good{background:#0D312B;color:#9AE3CB}
.theme-dark .security-badge.warn{background:#352B16;color:#F0D392}
.theme-dark .secondary-btn{background:#112C45;color:#B8D3EB}
.theme-dark .pill{background:#113A5D;color:#65B9FF}
.theme-dark .appearance-choice{
  background:#0C2135;
  border-color:#1B3C59;
  color:#B7CDE0
}
.theme-dark .appearance-choice.selected{
  border-color:#318FDF;
  box-shadow:0 0 0 3px rgba(47,155,255,.10)
}
.theme-dark .theme-preview.light{opacity:.85}
.theme-dark .storage-ring:before{background:#0C1D2D}

/* Module pages dark */
.theme-dark .shopping-add-modern input{
  background:#0C2135;
  border-color:#1B3C59;
  color:#F1F6FB
}
.theme-dark .shopping-add-modern input::placeholder{color:#688199}
.theme-dark .circle-check{color:#63829E}
.theme-dark .audit-modern-row{
  background:#0C2135;
  border-color:#193A56
}
.theme-dark .audit-modern-row pre{
  background:#081827;
  border-top-color:#193A56;
  color:#C8D8E7
}

/* Login / setup remain clean but respect system palette if a future preference is applied */


/* =========================================================
   V5 - Rich module iconography
   ========================================================= */
.nav-img{width:26px;height:26px;display:block;border-radius:8px;box-shadow:0 3px 10px rgba(24,99,171,.08)}
.side-nav a.active .nav-img{box-shadow:0 3px 10px rgba(255,255,255,.16)}
.tile-img{width:46px;height:46px;border-radius:14px;display:block;box-shadow:0 7px 18px rgba(35,93,154,.12)}
.access-img{width:22px;height:22px;border-radius:7px;display:block}
.menu-img{width:23px;height:23px;vertical-align:middle;margin-right:8px;border-radius:7px}
.profile-popover a{display:flex;align-items:center}
.promo-icon-wrap{width:58px;height:58px;display:grid;place-items:center}
.promo-img{width:58px;height:58px;filter:drop-shadow(0 8px 15px rgba(10,132,255,.16))}
.settings-nav-img{width:24px;height:24px;border-radius:8px;vertical-align:middle;margin-right:8px}
.settings-sidebar nav a{display:flex;align-items:center}
.settings-card-img{width:34px;height:34px;border-radius:10px;display:block}
.settings-icon{background:transparent!important}
.title-with-icon{display:flex;align-items:center;gap:12px}
.title-img{width:42px;height:42px;border-radius:13px;box-shadow:0 8px 18px rgba(30,100,170,.12)}
.theme-dark .nav-img,
.theme-dark .tile-img,
.theme-dark .access-img,
.theme-dark .menu-img,
.theme-dark .settings-nav-img,
.theme-dark .settings-card-img,
.theme-dark .title-img{
  box-shadow:0 6px 16px rgba(0,0,0,.22);
}
.theme-dark .quick-module.disabled .tile-img,
.theme-dark .side-nav a.disabled .nav-img{opacity:.82}


/* V6 inline SVG icon fix - no external icon files required */
.nav-img,.tile-img,.access-img,.menu-img,.promo-img,.settings-nav-img,.settings-card-img,.title-img{
  display:inline-grid;place-items:center;flex:0 0 auto;
}
.nav-img svg,.tile-img svg,.access-img svg,.menu-img svg,.promo-img svg,.settings-nav-img svg,.settings-card-img svg,.title-img svg{
  width:100%;height:100%;display:block;
}
.nav-img{width:26px;height:26px;border-radius:8px}
.tile-img{width:46px;height:46px;border-radius:14px}
.access-img{width:22px;height:22px;border-radius:7px}
.menu-img{width:23px;height:23px;border-radius:7px;margin-right:8px}
.promo-img{width:58px;height:58px}
.settings-nav-img{width:24px;height:24px;border-radius:8px;margin-right:8px}
.settings-card-img{width:34px;height:34px;border-radius:10px}
.title-img{width:42px;height:42px;border-radius:13px}


/* V7 definitive inline SVG icon rendering */
.nav-img,.tile-img,.access-img,.menu-img,.promo-img,.settings-nav-img,.settings-card-img,.title-img{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  overflow:hidden;
}
.nav-img svg,.tile-img svg,.access-img svg,.menu-img svg,.promo-img svg,.settings-nav-img svg,.settings-card-img svg,.title-img svg{
  width:100% !important;
  height:100% !important;
  display:block !important;
}
.nav-img{width:26px;height:26px;border-radius:8px}
.tile-img{width:46px;height:46px;border-radius:14px}
.access-img{width:22px;height:22px;border-radius:7px}
.menu-img{width:23px;height:23px;border-radius:7px;margin-right:8px}
.promo-img{width:58px;height:58px}
.settings-nav-img{width:24px;height:24px;border-radius:8px;margin-right:8px}
.settings-card-img{width:34px;height:34px;border-radius:10px}
.title-img{width:42px;height:42px;border-radius:13px}


/* V8 user administration */
.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 18px}.permission-item{display:flex!important;gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(120,170,220,.06);cursor:pointer}.permission-item input{width:18px!important;height:18px!important;flex:0 0 auto}.permission-item span{display:grid;gap:2px}.permission-item strong{font-size:14px}.permission-item small{color:var(--muted);font-size:.78rem}.user-admin-card{margin-top:18px}.user-admin-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.user-admin-head h2{margin:0}.user-admin-head h2 small{font-size:14px;color:var(--muted);font-weight:500}.user-admin-head p{margin:4px 0 0;color:var(--muted)}.admin-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.reset-inline{display:flex;gap:8px;flex:1;min-width:320px}.reset-inline input{flex:1;padding:11px 12px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--text)}.theme-dark .permission-item{background:#10283f;border-color:#1a3a57}.theme-dark .reset-inline input{background:#0c2135;border-color:#1d3d59;color:#eef6fd}@media(max-width:800px){.permission-grid{grid-template-columns:1fr}.user-admin-head{align-items:flex-start;flex-direction:column}.reset-inline{min-width:100%;flex-direction:column}}


/* =========================================================
   V9 - Modern authentication experience
   ========================================================= */
.auth-page{
  min-height:100vh;
  background:#F4F8FC;
  color:#142033;
}
.auth-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(420px,1.05fr) minmax(420px,.95fr);
}
.auth-visual{
  position:relative;
  overflow:hidden;
  padding:38px 44px;
  background:
    radial-gradient(circle at 74% 16%,rgba(255,255,255,.18),transparent 28%),
    linear-gradient(145deg,#064E96 0%,#0A84FF 48%,#5BB1FF 100%);
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.auth-visual-compact{background:linear-gradient(145deg,#063B70 0%,#0B6FC2 50%,#3F9EEA 100%)}
.auth-brand{display:flex;align-items:center;gap:12px;position:relative;z-index:2}
.auth-brand strong,.auth-brand small{display:block}
.auth-brand strong{font-size:16px}
.auth-brand small{font-size:.78rem;opacity:.76;margin-top:2px}
.auth-cloud-logo{filter:drop-shadow(0 8px 18px rgba(0,0,0,.12))}
.auth-visual-content{position:relative;z-index:2;max-width:640px;margin:auto 0}
.auth-kicker{font-size:.78rem;letter-spacing:.15em;font-weight:800;opacity:.72}
.auth-visual-content h1{font-size:48px;line-height:1.04;letter-spacing:-.045em;margin:14px 0 16px}
.auth-visual-content p{font-size:16px;line-height:1.55;opacity:.86;max-width:560px}
.auth-feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px;max-width:640px}
.auth-feature{display:flex;gap:10px;align-items:center;padding:13px 14px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.11);border-radius:16px;backdrop-filter:blur(14px)}
.auth-feature>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.15)}
.auth-feature strong,.auth-feature small{display:block}
.auth-feature strong{font-size:.78rem}.auth-feature small{font-size:.78rem;opacity:.72;margin-top:2px}
.auth-orb{position:absolute;border-radius:50%;background:rgba(255,255,255,.09)}
.orb-a{width:360px;height:360px;right:-120px;top:-100px}
.orb-b{width:250px;height:250px;left:34%;bottom:-120px}
.auth-grid-pattern{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to bottom,transparent,black 25%,black 70%,transparent)}
.auth-security-illustration{display:flex;align-items:center;gap:14px;margin-top:28px;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.17);max-width:450px}
.shield-ring{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.17);font-weight:900;font-size:22px}
.auth-security-illustration strong,.auth-security-illustration small{display:block}.auth-security-illustration small{font-size:.78rem;opacity:.75;margin-top:3px}

.auth-form-pane{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:42px 36px 22px;
  background:
    radial-gradient(circle at 84% 8%,rgba(10,132,255,.07),transparent 26%),
    linear-gradient(180deg,#FAFCFF,#F3F7FB);
}
.auth-card{
  width:min(470px,100%);
  background:rgba(255,255,255,.92);
  border:1px solid rgba(24,73,125,.10);
  border-radius:26px;
  padding:28px;
  box-shadow:0 22px 60px rgba(34,77,126,.13);
  backdrop-filter:blur(18px);
}
.auth-card-wide{width:min(560px,100%)}
.auth-card-top{display:flex;gap:14px;align-items:flex-start;margin-bottom:24px}
.auth-mini-cloud{width:52px;height:52px;display:grid;place-items:center;flex:0 0 auto}
.auth-card-top h2{font-size:29px;margin:3px 0 5px;letter-spacing:-.025em}
.auth-card-top p{margin:0;color:#7B8CA0;font-size:.78rem;line-height:1.45}
.auth-eyebrow{font-size:.78rem;letter-spacing:.14em;font-weight:800;color:#0A84FF}
.auth-form{display:grid;gap:15px}
.auth-form label{display:grid;gap:7px;font-size:.78rem;color:#526A83;font-weight:700}
.input-wrap{position:relative}
.input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#7D9DBC;font-size:14px}
.auth-form input{
  width:100%;
  border:1px solid #DDE7F1;
  background:#FBFDFF;
  border-radius:12px;
  padding:12px 13px;
  outline:none;
  color:#1C2D42;
  transition:.18s ease;
}
.input-wrap input{padding-left:38px}
.auth-form input:focus{border-color:#78B9F7;box-shadow:0 0 0 4px rgba(10,132,255,.08);background:#fff}
.auth-primary-btn{
  width:100%;
  border:0;
  border-radius:12px;
  padding:13px 15px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:linear-gradient(180deg,#1F94FF,#0A84FF);
  color:white;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(10,132,255,.24);
}
.auth-primary-btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(10,132,255,.28)}
.auth-alert{padding:11px 13px;border-radius:11px;background:#FFF0F0;color:#A43A3A;border:1px solid #F3D0D0;font-size:.78rem;margin-bottom:14px}
.auth-security-note{display:flex;gap:10px;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid #EDF2F6}
.security-dot{width:9px;height:9px;border-radius:50%;background:#2ACB91;box-shadow:0 0 0 5px rgba(42,203,145,.09)}
.auth-security-note strong,.auth-security-note small{display:block}
.auth-security-note strong{font-size:.78rem}.auth-security-note small{font-size:.78rem;color:#8B99A8;margin-top:2px}
.auth-footer{font-size:.78rem;color:#95A3B2;margin-top:18px}
.auth-back-link{display:inline-block;margin-top:16px;font-size:.78rem;color:#5D7FA0}
.otp-input{text-align:center;font-size:30px!important;font-weight:800;letter-spacing:.32em;padding-left:20px!important}
.auth-setup-key{margin:14px 0 18px;padding:14px;border-radius:14px;background:#F5F9FD;border:1px solid #E1EAF3}
.auth-setup-key span{display:block;font-size:.78rem;color:#8191A4;margin-bottom:7px}
.auth-setup-key code{display:block;word-break:break-all;color:#0A5FAF;font-size:13px;font-weight:800;letter-spacing:.05em}

@media(max-width:900px){
  .auth-shell{grid-template-columns:1fr}
  .auth-visual{min-height:350px;padding:28px}
  .auth-visual-content h1{font-size:38px}
  .auth-feature-row{grid-template-columns:1fr 1fr 1fr}
  .auth-form-pane{padding:28px 20px}
}
@media(max-width:560px){
  .auth-visual{min-height:300px;padding:22px}
  .auth-visual-content h1{font-size:31px}
  .auth-visual-content p{font-size:14px}
  .auth-feature-row{grid-template-columns:1fr;gap:8px;margin-top:22px}
  .auth-feature{padding:10px 12px}
  .auth-form-pane{padding:20px 14px}
  .auth-card{padding:22px;border-radius:22px}
  .auth-card-top h2{font-size:25px}
  .auth-card-top{margin-bottom:20px}
}


/* =========================================================
   V10 – Shopping module
   ========================================================= */
.shopping-v10{width:min(1320px,calc(100% - 34px));}
.shopping-header{margin-bottom:16px}
.shopping-title-row{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center}
.shopping-heading h1{margin:0}.shopping-heading p{margin:4px 0 0;color:#8191A3;font-size:.78rem}
.shopping-gear{width:42px;height:42px;border:1px solid #DCE7F1;background:rgba(255,255,255,.82);border-radius:13px;color:#47739E;cursor:pointer}
.shopping-list-tabs{display:flex;gap:7px;align-items:center;overflow:auto;margin-top:18px;padding-bottom:3px}
.shopping-list-tabs a,.shopping-list-tabs button{white-space:nowrap;border:1px solid #DDE8F2;background:rgba(255,255,255,.72);color:#5E7790;border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:700;display:flex;gap:6px;align-items:center;cursor:pointer}
.shopping-list-tabs a.active{background:#0A84FF;color:#fff;border-color:#0A84FF;box-shadow:0 7px 16px rgba(10,132,255,.2)}
.shopping-list-tabs b{font-size:.78rem;border-radius:999px;background:rgba(10,132,255,.11);padding:2px 5px}.shopping-list-tabs a.active b{background:rgba(255,255,255,.22)}
.shopping-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px;align-items:start}
.shopping-primary-panel{padding:18px}
.shopping-composer{display:grid;gap:9px;padding-bottom:16px;border-bottom:1px solid #EDF2F6}
.composer-main{display:grid;grid-template-columns:1fr 180px;gap:9px}
.composer-main input,.composer-more input,.composer-more select,.shopping-filterbar input,.shopping-filterbar select,.modal-form input,.modal-form select{border:1px solid #DCE6F0;background:#FBFDFF;color:#1D2D42;border-radius:10px;padding:10px 11px;outline:none}
.composer-main input:first-child{font-size:15px;padding:13px}
.composer-more{display:grid;grid-template-columns:165px 125px minmax(180px,1fr) auto;gap:9px;align-items:center}
.urgent-toggle{display:flex!important;align-items:center;gap:7px!important;color:#6B7D91!important;font-size:.78rem!important;cursor:pointer}
.urgent-toggle input{width:auto!important}.urgent-toggle span{width:22px;height:22px;border-radius:7px;background:#FFF0F0;color:#ED5A5A;display:grid;place-items:center;font-weight:900}
.shopping-filterbar{display:grid;grid-template-columns:minmax(170px,1fr) 160px 130px auto auto;gap:8px;align-items:center;padding:14px 0}
.shopping-search{position:relative}.shopping-search span{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#8AA0B4}.shopping-search input{width:100%;padding-left:30px}
.filter-check{display:flex!important;align-items:center;gap:6px!important;font-size:.78rem!important;color:#6C7F93!important}.filter-check input{width:auto}
.filter-reset{font-size:.78rem;color:#0A84FF}
.shopping-view-toggle{display:flex;gap:8px;margin-bottom:8px}.shopping-view-toggle a{padding:7px 11px;border-radius:9px;color:#77899C;font-size:.78rem;font-weight:800}.shopping-view-toggle a.active{background:#EAF4FF;color:#0A84FF}.shopping-view-toggle b{font-size:.78rem}
.shopping-items-v10{display:grid;gap:8px}
.shopping-item-card{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:start;padding:13px;border:1px solid #E5EDF4;background:#FBFDFF;border-radius:15px;transition:.15s ease}
.shopping-item-card:hover{border-color:#CFE1F2;box-shadow:0 7px 18px rgba(40,87,132,.06)}
.shopping-item-card.is-urgent{border-left:3px solid #FF615A}.shopping-item-card.is-done{opacity:.67}
.item-check{width:30px;height:30px;border-radius:10px;border:1.5px solid #A9BED0;background:#fff;color:#fff;font-weight:900;cursor:pointer}
.is-done .item-check{background:#2FCB91;border-color:#2FCB91}
.item-title-line{display:flex;gap:8px;align-items:center}.item-title-line strong{font-size:13px}.is-done .item-title-line strong{text-decoration:line-through;color:#77899B}
.urgent-badge{font-size:.78rem;background:#FFF0F0;color:#EA4E4E;padding:3px 6px;border-radius:999px;font-weight:800}
.item-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.quantity-pill,.category-pill{font-size:.78rem;padding:3px 7px;border-radius:999px;background:#EEF4F9;color:#668099}.category-pill{background:#EAF4FF;color:#3A79B7}
.item-notes{font-size:.78rem;color:#74879A;margin:7px 0 0;line-height:1.45}
.item-history{display:flex;gap:11px;flex-wrap:wrap;margin-top:8px;font-size:.78rem;color:#9AA8B6}.item-history strong{font-weight:700;color:#7A8C9F}
.item-actions{display:flex;gap:4px;align-items:center}.item-actions form{display:inline}.icon-action{border:0;background:transparent;border-radius:8px;padding:6px;cursor:pointer;color:#587795}.icon-action:hover{background:#EEF4F9}.icon-action.delete:hover{background:#FFF0F0}
.shopping-empty{text-align:center;padding:46px 20px;color:#8292A3}.shopping-empty strong,.shopping-empty span{display:block}.shopping-empty strong{font-size:13px;margin-top:8px}.shopping-empty span{font-size:.78rem;margin-top:4px}.empty-cart{font-size:34px}
.shopping-side{display:grid;gap:12px}.shopping-info-panel{padding:15px}.side-panel-head h2{margin:0;font-size:13px}.side-panel-head span{display:block;font-size:.78rem;color:#8998A8;margin-top:3px}
.shopping-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.shopping-stats div{background:#F5F9FC;border-radius:10px;padding:10px;text-align:center}.shopping-stats strong,.shopping-stats span{display:block}.shopping-stats strong{font-size:18px;color:#0A84FF}.shopping-stats span{font-size:.78rem;color:#8191A3;margin-top:2px}
.category-cloud{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.category-cloud a{padding:6px 8px;border-radius:999px;background:#F1F6FA;color:#607B94;font-size:.78rem}.category-cloud a span{margin-right:3px}
.soft-full-btn{width:100%;border:1px solid #DCE7F1;background:#F8FBFD;color:#61809C;border-radius:9px;padding:8px;font-size:.78rem;cursor:pointer}
.tip-panel{display:grid;grid-template-columns:38px 1fr;gap:10px}.tip-icon{width:36px;height:36px;border-radius:12px;background:#EAF4FF;color:#0A84FF;display:grid;place-items:center;font-size:18px}.tip-panel strong{font-size:.78rem}.tip-panel p{font-size:.78rem;color:#8393A4;line-height:1.5;margin:3px 0 0}

/* Modals */
.modal-backdrop{position:fixed;inset:0;background:rgba(7,19,33,.48);display:grid;place-items:center;padding:18px;z-index:500;backdrop-filter:blur(6px)}
.modal-backdrop[hidden]{display:none}.modal-card{width:min(590px,100%);background:#fff;border-radius:22px;padding:21px;box-shadow:0 30px 90px rgba(0,0,0,.25);max-height:92vh;overflow:auto}.compact-modal{width:min(470px,100%)}
.modal-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:17px}.modal-head h2{margin:3px 0 0;font-size:22px}.modal-kicker{font-size:.78rem;letter-spacing:.13em;font-weight:800;color:#0A84FF}.modal-close{border:0;background:#F2F6F9;width:32px;height:32px;border-radius:10px;cursor:pointer;color:#6E8194;font-size:18px}
.modal-form{display:grid;gap:12px}.modal-form label{display:grid;gap:5px;font-size:.78rem;color:#647A90;font-weight:700}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-grid.small-first{grid-template-columns:95px 1fr}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.modal-urgent{padding:8px 0}
.danger-zone{border-top:1px solid #EDF2F6;margin-top:18px;padding-top:16px}.danger-zone strong{font-size:.78rem;color:#BA4040}.danger-zone p{font-size:.78rem;color:#8795A4;line-height:1.45}.danger-btn{border:0;background:#FFF0F0;color:#C14848;border-radius:9px;padding:9px 12px;font-weight:700;cursor:pointer}
.modal-open{overflow:hidden}

/* Dark */
.theme-dark .shopping-gear,.theme-dark .shopping-list-tabs a,.theme-dark .shopping-list-tabs button{background:#0D2337;border-color:#1C3B57;color:#B7CADC}
.theme-dark .shopping-list-tabs a.active{background:#137ACF;color:#fff;border-color:#137ACF}
.theme-dark .shopping-composer{border-color:#173149}
.theme-dark .composer-main input,.theme-dark .composer-more input,.theme-dark .composer-more select,.theme-dark .shopping-filterbar input,.theme-dark .shopping-filterbar select,.theme-dark .modal-form input,.theme-dark .modal-form select{background:#0C2135;border-color:#1C3C58;color:#ECF4FB}
.theme-dark .shopping-view-toggle a.active{background:#103253;color:#62B6FF}
.theme-dark .shopping-item-card{background:#0C2135;border-color:#193A56}.theme-dark .shopping-item-card:hover{border-color:#2B5679}
.theme-dark .item-check{background:#0B1B2A;border-color:#55748F}.theme-dark .is-done .item-check{background:#249B71;border-color:#249B71}
.theme-dark .quantity-pill{background:#152F45;color:#A9BED1}.theme-dark .category-pill{background:#11395A;color:#79BFFF}
.theme-dark .shopping-stats div,.theme-dark .category-cloud a,.theme-dark .soft-full-btn{background:#10283E;color:#A9BFD2;border-color:#193A56}
.theme-dark .modal-card{background:#091D2E;color:#ECF4FB}.theme-dark .modal-close{background:#122D44;color:#AFC6D9}.theme-dark .danger-zone{border-color:#19364E}

@media(max-width:1050px){.shopping-main-grid{grid-template-columns:1fr}.shopping-side{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){
 .shopping-v10{width:min(100% - 20px,1320px)}.shopping-title-row{grid-template-columns:1fr auto}.shopping-title-row>.back-link{grid-column:1/3}.composer-main{grid-template-columns:1fr 110px}.composer-more{grid-template-columns:1fr 1fr}.composer-more .primary-btn{grid-column:2}.shopping-filterbar{grid-template-columns:1fr 1fr}.shopping-search{grid-column:1/3}.shopping-side{grid-template-columns:1fr}.item-history{display:grid;gap:3px}
}
@media(max-width:500px){.composer-main,.composer-more,.shopping-filterbar,.modal-grid,.modal-grid.small-first{grid-template-columns:1fr}.shopping-search{grid-column:auto}.composer-more .primary-btn{grid-column:auto}.shopping-item-card{grid-template-columns:38px 1fr}.item-actions{grid-column:2;justify-content:flex-end}.shopping-list-tabs{margin-left:-4px;margin-right:-4px}}


/* =========================================================
   V11 – Warranties module
   ========================================================= */
.warranty-v11{width:min(1320px,calc(100% - 34px))}
.warranty-header{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:16px}.warranty-header h1{margin:9px 0 3px}.warranty-header p{margin:0;color:#8191A3;font-size:.78rem}
.warranty-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.summary-card{background:rgba(255,255,255,.82);border:1px solid #E4EDF5;border-radius:16px;padding:15px;box-shadow:0 8px 22px rgba(50,91,139,.06)}.summary-card strong,.summary-card span{display:block}.summary-card strong{font-size:25px}.summary-card span{font-size:.78rem;color:#8191A3;margin-top:3px}.summary-card.active strong{color:#22A779}.summary-card.soon strong{color:#E29A24}.summary-card.expired strong{color:#E14C4C}.summary-card.total strong{color:#0A84FF}
.warranty-panel{padding:17px}.warranty-filterbar{display:grid;grid-template-columns:minmax(230px,1fr) 170px 160px auto auto;gap:8px;align-items:center;margin-bottom:13px}.warranty-search{position:relative}.warranty-search span{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#8AA0B4}.warranty-search input{width:100%;padding-left:30px}.warranty-filterbar input,.warranty-filterbar select{border:1px solid #DCE6F0;background:#FBFDFF;color:#1D2D42;border-radius:10px;padding:10px 11px}
.warranty-table-wrap{overflow:auto;border:1px solid #E7EEF5;border-radius:13px}.warranty-table{width:100%;min-width:900px;border-collapse:collapse;background:#FBFDFF}.warranty-table th{font-size:.78rem;color:#8493A4;text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:10px 12px;background:#F4F8FB}.warranty-table td{font-size:.78rem;color:#5E7287;padding:12px;border-top:1px solid #EDF2F6;vertical-align:middle}.warranty-open-link{border:0;background:transparent;text-align:left;padding:0;cursor:pointer;color:#1E344C}.warranty-open-link strong,.warranty-open-link small{display:block}.warranty-open-link strong{font-size:.78rem}.warranty-open-link small{font-size:.78rem;color:#8A99AA;margin-top:2px}.warranty-actions{display:flex;gap:4px;align-items:center}.warranty-actions form{display:inline}
.warranty-status{display:inline-block;border-radius:999px;padding:4px 7px;font-size:.78rem;font-weight:800}.warranty-status.active{background:#E9F8F2;color:#238963}.warranty-status.soon{background:#FFF6E5;color:#B77812}.warranty-status.expired{background:#FFF0F0;color:#C14444}.warranty-status.unknown{background:#EFF3F6;color:#728294}.file-count{font-size:.78rem;color:#7290AD}
.warranty-category-panel{margin-top:13px;padding:14px}
.warranty-modal-card{width:min(720px,100%)}.file-upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.file-upload-card{border:1px dashed #C9D8E6;border-radius:13px;padding:13px;text-align:center;background:#F8FBFD;cursor:pointer}.file-upload-card span,.file-upload-card strong,.file-upload-card small{display:block}.file-upload-card span{font-size:24px}.file-upload-card strong{font-size:.78rem;margin-top:5px}.file-upload-card small{font-size:.78rem;color:#8897A8;margin:3px 0 7px}.file-upload-card input{font-size:.78rem;padding:0;border:0;background:transparent}
.warranty-detail-card{width:min(760px,100%)}.warranty-detail-status{margin-bottom:13px}.warranty-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.warranty-detail-grid>div{background:#F7FAFD;border:1px solid #E8EFF6;border-radius:11px;padding:11px}.warranty-detail-grid small,.warranty-detail-grid strong{display:block}.warranty-detail-grid small{font-size:.78rem;color:#8796A8;margin-bottom:3px}.warranty-detail-grid strong{font-size:.78rem}.warranty-note{margin-top:11px;background:#F7FAFD;border-radius:11px;padding:12px}.warranty-note small{font-size:.78rem;color:#8796A8}.warranty-note p{font-size:.78rem;line-height:1.5;margin:4px 0 0}
.warranty-files{margin-top:17px}.warranty-file-row{display:grid;grid-template-columns:36px 1fr auto 32px;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #EDF2F6}.file-type-icon{font-size:20px}.warranty-file-row strong,.warranty-file-row small{display:block}.warranty-file-row strong{font-size:.78rem}.warranty-file-row small{font-size:.78rem;color:#8796A8;margin-top:2px}.secondary-btn.mini{padding:6px 9px;font-size:.78rem}.empty-docs{font-size:.78rem;color:#8898A8;padding:14px 0}

/* Dark */
.theme-dark .summary-card{background:#0D2337;border-color:#1C3B57}.theme-dark .warranty-filterbar input,.theme-dark .warranty-filterbar select{background:#0C2135;border-color:#1C3C58;color:#ECF4FB}.theme-dark .warranty-table-wrap{border-color:#193A56}.theme-dark .warranty-table{background:#0C2135}.theme-dark .warranty-table th{background:#10283E;color:#8FA7BC}.theme-dark .warranty-table td{border-color:#193A56;color:#AFC2D4}.theme-dark .warranty-open-link{color:#F0F6FC}.theme-dark .warranty-open-link small{color:#849BB0}.theme-dark .file-upload-card{background:#0C2135;border-color:#2B4E6C}.theme-dark .warranty-detail-grid>div,.theme-dark .warranty-note{background:#0C2135;border-color:#193A56}.theme-dark .warranty-file-row{border-color:#193A56}

@media(max-width:850px){.warranty-summary{grid-template-columns:1fr 1fr}.warranty-filterbar{grid-template-columns:1fr 1fr}.warranty-search{grid-column:1/3}.file-upload-grid{grid-template-columns:1fr}.warranty-detail-grid{grid-template-columns:1fr}}
@media(max-width:520px){.warranty-header{display:grid;align-items:start}.warranty-summary{grid-template-columns:1fr 1fr}.warranty-filterbar{grid-template-columns:1fr}.warranty-search{grid-column:auto}.warranty-v11{width:min(100% - 20px,1320px)}}


/* =========================================================
   V12.1 – Persistent navigation hotfix
   ========================================================= */
.persistent-nav-content{
  min-width:0;
  padding:24px 28px 40px;
}
.persistent-nav-content > .module-shell{
  width:min(1320px,100%);
  margin:0 auto;
  padding:0;
}
.persistent-nav-content .shopping-v10,
.persistent-nav-content .warranty-v11{
  width:min(1320px,100%);
}
.persistent-nav-content > .settings-shell{
  width:100%;
  min-height:auto;
  margin:0;
}
.theme-dark .persistent-nav-content{background:transparent}
@media(max-width:820px){
  .persistent-nav-content{padding:18px 14px 30px}
  .persistent-nav-content > .module-shell{width:100%}
}


/* =========================================================
   V13 – To-dos
   ========================================================= */
.todo-v13{width:min(1320px,100%);margin:0 auto}
.todo-header{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:16px}.todo-header h1{margin:0}.todo-header p{margin:4px 0 0;color:#8191A3;font-size:.78rem}
.todo-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.todo-summary-card{background:rgba(255,255,255,.82);border:1px solid #E3EDF5;border-radius:15px;padding:14px;box-shadow:0 8px 22px rgba(50,91,139,.05)}.todo-summary-card strong,.todo-summary-card span{display:block}.todo-summary-card strong{font-size:24px;color:#0A84FF}.todo-summary-card span{font-size:.78rem;color:#8292A4;margin-top:3px}.todo-summary-card.mine strong{color:#745BDF}.todo-summary-card.overdue strong{color:#E14D4D}.todo-summary-card.active{border-color:#83BDF4;box-shadow:0 0 0 3px rgba(10,132,255,.06)}
.todo-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:15px;align-items:start}.todo-main-panel{padding:17px}.todo-filterbar{display:grid;grid-template-columns:minmax(190px,1fr) 160px 140px 150px auto;gap:8px;align-items:center;padding-bottom:13px;border-bottom:1px solid #EDF2F6}.todo-filterbar input,.todo-filterbar select{border:1px solid #DCE6F0;background:#FBFDFF;color:#1D2D42;border-radius:10px;padding:9px 10px}.todo-search{position:relative}.todo-search span{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#8AA0B4}.todo-search input{width:100%;padding-left:29px}
.todo-view-tabs{display:flex;gap:7px;margin:12px 0}.todo-view-tabs a{font-size:.78rem;font-weight:800;color:#788A9D;padding:7px 10px;border-radius:9px}.todo-view-tabs a.active{background:#EAF4FF;color:#0A84FF}.todo-view-tabs b{font-size:.78rem}
.todo-list{display:grid;gap:8px}.todo-card{display:grid;grid-template-columns:40px 1fr auto;gap:10px;padding:13px;border:1px solid #E5EDF4;background:#FBFDFF;border-radius:15px}.todo-card.priority-high{border-left:3px solid #FF5B57}.todo-card.is-done{opacity:.66}.todo-card.is-done .todo-title-line>strong{text-decoration:line-through}.todo-check{width:30px;height:30px;border-radius:10px;border:1.5px solid #A8BED0;background:#fff;color:#fff;font-weight:900;cursor:pointer}.is-done .todo-check{background:#2FCB91;border-color:#2FCB91}
.todo-title-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.todo-title-line>strong{font-size:13px}.todo-priority,.todo-due{font-size:.78rem;border-radius:999px;padding:3px 6px;font-weight:800}.todo-priority.high{background:#FFF0F0;color:#D54848}.todo-priority.normal{background:#EEF5FB;color:#557A9B}.todo-priority.low{background:#EDF9F5;color:#3D8D70}.todo-due.overdue{background:#FFF0F0;color:#D54848}.todo-due.today{background:#FFF5DF;color:#B07813}.todo-due.soon{background:#FFF8E9;color:#A87E2A}.todo-due.future{background:#EAF4FF;color:#3D78B0}.todo-due.none,.todo-due.done{background:#F0F3F6;color:#7A8998}
.todo-card-content>p{font-size:.78rem;color:#6F8295;line-height:1.5;margin:7px 0}.todo-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:.78rem;color:#92A0AE;margin-top:8px}.todo-actions{display:flex;gap:3px}.todo-actions form{display:inline}
.todo-empty{text-align:center;padding:45px 20px;color:#8191A3}.todo-empty>div{font-size:33px}.todo-empty strong,.todo-empty span{display:block}.todo-empty strong{font-size:.78rem;margin-top:8px}.todo-empty span{font-size:.78rem;margin-top:3px}
.todo-side{display:grid;gap:12px}.todo-side-panel{padding:14px}.todo-side-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.todo-side-stats div{text-align:center;background:#F5F9FC;border-radius:10px;padding:10px}.todo-side-stats strong,.todo-side-stats span{display:block}.todo-side-stats strong{font-size:17px;color:#0A84FF}.todo-side-stats span{font-size:.78rem;color:#8595A6}.todo-people{display:grid;gap:7px;margin-top:11px}.todo-people a{display:flex;align-items:center;gap:8px;background:#F7FAFD;border-radius:10px;padding:8px}.todo-people strong{font-size:.78rem}.mini-avatar{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#63B9FF,#0A84FF);color:#fff;display:grid;place-items:center;font-size:.78rem;font-weight:800}
.todo-modal-card{width:min(660px,100%)}.assignee-fieldset{border:1px solid #E2EBF3;border-radius:12px;padding:11px}.assignee-fieldset legend{font-size:.78rem;color:#6B8197;padding:0 4px}.assignee-options{display:flex;gap:8px;flex-wrap:wrap}.assignee-options label{display:flex!important;align-items:center;gap:6px!important;background:#F7FAFD;border:1px solid #E7EEF5;border-radius:999px;padding:6px 9px!important;cursor:pointer}.assignee-options input{width:auto!important}.assignee-options strong{font-size:.78rem}
.theme-dark .todo-summary-card{background:#0D2337;border-color:#1C3B57}.theme-dark .todo-filterbar{border-color:#173149}.theme-dark .todo-filterbar input,.theme-dark .todo-filterbar select{background:#0C2135;border-color:#1C3C58;color:#ECF4FB}.theme-dark .todo-view-tabs a.active{background:#103253;color:#64B8FF}.theme-dark .todo-card{background:#0C2135;border-color:#193A56}.theme-dark .todo-check{background:#0B1B2A;border-color:#55748F}.theme-dark .is-done .todo-check{background:#249B71;border-color:#249B71}.theme-dark .todo-side-stats div,.theme-dark .todo-people a{background:#10283E}.theme-dark .assignee-fieldset{border-color:#1D3A54}.theme-dark .assignee-options label{background:#10283E;border-color:#1D3A54}
@media(max-width:1050px){.todo-grid{grid-template-columns:1fr}.todo-side{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.todo-filterbar{grid-template-columns:1fr 1fr}.todo-search{grid-column:1/3}.todo-side{grid-template-columns:1fr}}
@media(max-width:540px){.todo-summary{grid-template-columns:1fr 1fr}.todo-header{display:grid}.todo-filterbar{grid-template-columns:1fr}.todo-search{grid-column:auto}.todo-card{grid-template-columns:38px 1fr}.todo-actions{grid-column:2;justify-content:flex-end}.todo-meta{display:grid;gap:3px}}


/* =========================================================
   V14 – Family + Personal Files
   ========================================================= */
.files-v14{width:min(1320px,100%);margin:0 auto}.files-header{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px}.files-header h1{margin:0}.files-header p{font-size:.78rem;color:#8191A3;margin:4px 0 0}.files-header-actions{display:flex;gap:8px}
.storage-scope-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:13px}.storage-scope-tabs a{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.75);border:1px solid #E2ECF4;border-radius:16px;padding:12px 14px}.storage-scope-tabs a.active{border-color:#7BBBF5;box-shadow:0 0 0 3px rgba(10,132,255,.06);background:#F8FCFF}.scope-icon{width:38px;height:38px}.scope-icon svg{width:100%;height:100%}.storage-scope-tabs strong,.storage-scope-tabs small{display:block}.storage-scope-tabs strong{font-size:.78rem}.storage-scope-tabs small{font-size:.78rem;color:#8494A6;margin-top:2px}
.files-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.breadcrumbs{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:.78rem;color:#6F849A}.breadcrumbs a{color:#397DBE;font-weight:700}.files-search{position:relative;width:min(300px,100%)}.files-search span{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#8EA1B3}.files-search input{width:100%;border:1px solid #DDE7F0;background:#FBFDFF;border-radius:10px;padding:9px 10px 9px 29px}
.files-grid-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:14px;align-items:start}.files-panel{padding:16px;min-height:420px}.files-list-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:13px}.files-list-head h2{margin:0;font-size:14px}.files-list-head p{font-size:.78rem;color:#8B99A8;margin:3px 0}.scope-privacy{font-size:.78rem;font-weight:800;border-radius:999px;padding:5px 8px}.scope-privacy.family{background:#EAF4FF;color:#3D7CB7}.scope-privacy.personal{background:#F1ECFF;color:#7656B5}
.folder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.folder-card{border:1px solid #E6EEF5;background:#FBFDFF;border-radius:13px;padding:10px;display:grid;grid-template-columns:1fr auto;gap:5px;align-items:center}.folder-open{display:flex;align-items:center;gap:9px;min-width:0}.folder-glyph{width:34px;height:30px;border-radius:8px;background:linear-gradient(180deg,#7DC8FF,#3C92E7);color:white;display:grid;place-items:center;font-size:16px}.folder-open strong,.folder-open small{display:block}.folder-open strong{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-open small{font-size:.78rem;color:#8A99AA;margin-top:2px}.folder-actions{display:flex;gap:2px}.folder-actions form{display:inline}
.file-table-wrap{overflow:auto;border:1px solid #E7EEF5;border-radius:12px}.file-table{width:100%;min-width:690px;border-collapse:collapse;background:#FBFDFF}.file-table th{font-size:.78rem;color:#8493A4;text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:9px 10px;background:#F4F8FB}.file-table td{font-size:.78rem;color:#64788D;padding:10px;border-top:1px solid #EDF2F6}.file-name-link{display:flex;gap:9px;align-items:center}.file-name-link>span{font-size:21px}.file-name-link strong,.file-name-link small{display:block}.file-name-link strong{font-size:.78rem;color:#21384F}.file-name-link small{font-size:.78rem;color:#8B99A9;margin-top:2px}.file-actions{display:flex;gap:3px}.file-actions form{display:inline}
.files-empty{text-align:center;padding:60px 20px;color:#8392A3}.empty-files-icon{display:inline-block;width:65px;height:65px}.empty-files-icon svg{width:100%;height:100%}.files-empty strong,.files-empty span{display:block}.files-empty strong{font-size:.78rem;margin-top:8px}.files-empty span{font-size:.78rem;margin-top:3px}
.files-side{display:grid;gap:11px}.file-side-card{padding:14px}.storage-big-number{font-size:27px;font-weight:800;color:#0A84FF;margin-top:12px}.file-side-card>p{font-size:.78rem;color:#8595A6;line-height:1.5}.privacy-info,.api-ready{display:grid;grid-template-columns:38px 1fr;gap:10px}.privacy-info>span,.api-ready>span{width:36px;height:36px;border-radius:11px;background:#EAF4FF;display:grid;place-items:center}.privacy-info strong,.api-ready strong{font-size:.78rem}.privacy-info p,.api-ready p{font-size:.78rem;color:#8191A3;line-height:1.5;margin:3px 0 0}
.file-modal{width:min(620px,100%)}.big-dropzone{border:1.5px dashed #BFD4E6!important;border-radius:16px!important;padding:28px!important;text-align:center!important;background:#F8FBFD!important;cursor:pointer}.big-dropzone>span,.big-dropzone>strong,.big-dropzone>small{display:block}.big-dropzone>span{font-size:30px;color:#0A84FF}.big-dropzone>strong{font-size:.78rem;margin-top:5px}.big-dropzone>small{font-size:.78rem;color:#8494A5;margin:4px 0 12px}.big-dropzone input{font-size:.78rem!important}.upload-scope-note{font-size:.78rem;color:#678096;background:#F2F7FB;border-radius:9px;padding:8px 10px}
.file-detail-card{width:min(820px,100%)}.file-detail-top{display:grid;grid-template-columns:48px 1fr auto;gap:11px;align-items:center}.file-detail-icon{font-size:38px}.file-detail-meta strong,.file-detail-meta span,.file-detail-meta small{display:block}.file-detail-meta strong{font-size:.78rem}.file-detail-meta span{font-size:.78rem;color:#72879B;margin-top:3px}.file-detail-meta small{font-size:.78rem;color:#98A6B4;margin-top:5px;word-break:break-all}.file-preview{height:420px;margin-top:14px;border:1px solid #E0E9F1;border-radius:13px;overflow:hidden;background:#F3F7FA}.file-preview iframe{width:100%;height:100%;border:0}.version-section{margin-top:15px}.version-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #EDF2F6}.version-row strong,.version-row small{display:block}.version-row strong{font-size:.78rem}.version-row small{font-size:.78rem;color:#8595A6;margin-top:2px}.new-version-form{margin-top:13px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.new-version-form label{font-size:.78rem;color:#657C91}

/* Dark */
.theme-dark .storage-scope-tabs a,.theme-dark .folder-card,.theme-dark .file-table{background:#0C2135;border-color:#193A56}.theme-dark .storage-scope-tabs a.active{background:#102D48;border-color:#337AB6}.theme-dark .files-search input{background:#0C2135;border-color:#1C3C58;color:#ECF4FB}.theme-dark .file-table-wrap{border-color:#193A56}.theme-dark .file-table th{background:#10283E;color:#91A8BC}.theme-dark .file-table td,.theme-dark .version-row{border-color:#193A56}.theme-dark .file-name-link strong,.theme-dark .folder-open strong{color:#EDF5FC}.theme-dark .big-dropzone{background:#0C2135!important;border-color:#31526D!important}.theme-dark .upload-scope-note{background:#10283E;color:#A7BDD0}.theme-dark .file-preview{background:#081827;border-color:#193A56}.theme-dark .privacy-info>span,.theme-dark .api-ready>span{background:#113552}

@media(max-width:1050px){.files-grid-layout{grid-template-columns:1fr}.files-side{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.folder-grid{grid-template-columns:1fr 1fr}.files-side{grid-template-columns:1fr}.files-toolbar{display:grid}.files-search{width:100%}}
@media(max-width:540px){.files-header{display:grid}.files-header-actions{justify-content:flex-start}.storage-scope-tabs{grid-template-columns:1fr}.folder-grid{grid-template-columns:1fr}.file-detail-top{grid-template-columns:45px 1fr}.file-detail-top>.primary-btn{grid-column:2}.file-preview{height:300px}.new-version-form{grid-template-columns:1fr}}


/* =========================================================
   V15 – Personal profile pictures
   ========================================================= */
.avatar-has-image{overflow:hidden;padding:0!important}
.avatar-has-image img{width:100%;height:100%;object-fit:cover;display:block}
.settings-avatar-wrap{display:grid;place-items:center}
.settings-avatar{
  width:70px;height:70px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.35);
  font-size:24px;font-weight:800;color:#fff;overflow:hidden
}
.settings-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.profile-picture-card{overflow:hidden}
.profile-picture-layout{display:grid;grid-template-columns:110px 1fr;gap:22px;align-items:center}
.profile-picture-preview{display:grid;place-items:center}
.profile-picture-large{
  width:104px;height:104px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,#5EB4FF,#0A84FF);color:#fff;
  font-size:32px;font-weight:800;box-shadow:0 12px 28px rgba(10,132,255,.20);
  overflow:hidden
}
.profile-picture-large img{width:100%;height:100%;object-fit:cover;display:block}
.profile-picture-actions{display:grid;gap:10px}
.profile-picture-actions>div>strong,.profile-picture-actions>div>small{display:block}
.profile-picture-actions>div>strong{font-size:.78rem}
.profile-picture-actions>div>small{font-size:.78rem;color:#8595A6;line-height:1.5;margin-top:3px}
.avatar-upload-form{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center}
.avatar-upload-form input[type=file]{
  border:1px solid #DCE6F0;background:#FBFDFF;border-radius:10px;padding:9px;font-size:.78rem;color:#64798F
}
.mini-avatar.avatar-has-image{display:inline-flex}
.theme-dark .avatar-upload-form input[type=file]{background:#0C2135;border-color:#1C3C58;color:#C7D8E7}
@media(max-width:620px){
  .profile-picture-layout{grid-template-columns:1fr;justify-items:start}
  .avatar-upload-form{grid-template-columns:1fr}
}


/* V15.1 – due To-do count in global navigation */
.side-nav a b.todo-due-badge{
  background:#FF5B57;
  color:#fff;
  box-shadow:0 4px 10px rgba(255,91,87,.22);
}
.theme-dark .side-nav a b.todo-due-badge{
  background:#FF6B66;
  color:#fff;
}


/* V15.2 – immediate theme preview/selection */
.appearance-choice{
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}
.appearance-choice:hover{
  transform:translateY(-1px);
}
.appearance-choice.selected{
  border-color:#0A84FF !important;
  box-shadow:0 0 0 3px rgba(10,132,255,.16) !important;
}
.theme-dark .appearance-choice.selected{
  border-color:#36A3FF !important;
  box-shadow:0 0 0 3px rgba(54,163,255,.14) !important;
}


/* V15.3 – theme auto-save */
.theme-form .appearance-options{margin-bottom:0}
.appearance-choice{cursor:pointer}
.appearance-choice input[type="radio"]{cursor:pointer}


/* =========================================================
   V15.4 – Files Grid/List view switch
   ========================================================= */
.files-toolbar-right{display:flex;align-items:center;gap:8px}
.files-view-switch{display:flex;align-items:center;background:rgba(255,255,255,.72);border:1px solid #DDE7F0;border-radius:10px;padding:3px;gap:2px}
.files-view-switch button{width:34px;height:30px;border:0;background:transparent;border-radius:7px;display:grid;place-items:center;cursor:pointer;color:#6C849A}
.files-view-switch button.active{background:#0A84FF;color:#fff;box-shadow:0 5px 12px rgba(10,132,255,.2)}
.view-grid-icon{width:15px;height:15px;display:grid;grid-template-columns:1fr 1fr;gap:2px}.view-grid-icon i{border-radius:1.5px;background:currentColor}
.view-list-icon{width:16px;height:14px;display:grid;gap:2px}.view-list-icon i{height:3px;border-radius:2px;background:currentColor}

.file-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
.file-card-grid-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px;background:#FBFDFF;border:1px solid #E6EEF5;border-radius:13px;padding:10px}
.file-card-open{display:flex;align-items:center;gap:9px;min-width:0}.file-card-icon{font-size:27px;flex:0 0 auto}.file-card-open strong,.file-card-open small{display:block}.file-card-open strong{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#21384F}.file-card-open small{font-size:.78rem;color:#8999AA;margin-top:2px}.file-card-actions{display:flex;gap:2px}.file-card-actions form{display:inline}

.explorer-list-wrap{overflow:auto;border:1px solid #E7EEF5;border-radius:12px}.explorer-list-table{width:100%;min-width:720px;border-collapse:collapse;background:#FBFDFF}.explorer-list-table th{font-size:.78rem;color:#8393A4;text-transform:uppercase;letter-spacing:.04em;text-align:left;background:#F4F8FB;padding:9px 11px}.explorer-list-table td{font-size:.78rem;color:#65798D;padding:9px 11px;border-top:1px solid #EDF2F6;vertical-align:middle}.explorer-list-table tbody tr:hover{background:#F4F9FD}.explorer-name{display:flex;align-items:center;gap:9px;min-width:0}.explorer-name strong{font-size:.78rem;color:#21384F}.explorer-name small{display:block;font-size:.78rem;color:#8B9AAA;margin-top:1px}.explorer-folder-icon{width:27px;height:24px;border-radius:7px;background:linear-gradient(180deg,#7DC8FF,#3C92E7);display:grid;place-items:center;color:#fff}.explorer-file-icon{width:27px;text-align:center;font-size:20px}.explorer-actions{display:flex;gap:2px;justify-content:flex-end}.explorer-actions form{display:inline}

.theme-dark .files-view-switch{background:#0C2135;border-color:#1C3C58}.theme-dark .file-card-grid-item,.theme-dark .explorer-list-table{background:#0C2135;border-color:#193A56}.theme-dark .file-card-open strong,.theme-dark .explorer-name strong{color:#EDF5FC}.theme-dark .explorer-list-wrap{border-color:#193A56}.theme-dark .explorer-list-table th{background:#10283E;color:#91A8BC}.theme-dark .explorer-list-table td{border-color:#193A56;color:#AFC2D4}.theme-dark .explorer-list-table tbody tr:hover{background:#10283E}

@media(max-width:900px){.file-card-grid{grid-template-columns:1fr 1fr}.files-toolbar-right{width:100%}.files-search{flex:1}}
@media(max-width:600px){.file-card-grid{grid-template-columns:1fr}.files-toolbar-right{display:grid;grid-template-columns:1fr auto}.files-view-switch{justify-self:end}}


/* =========================================================
   V15.5 – Global search
   ========================================================= */
.round-btn{display:grid;place-items:center;text-decoration:none}
.global-search-v155{width:min(1180px,100%);margin:0 auto}
.global-search-header{margin-bottom:14px}.global-search-header h1{margin:0}.global-search-header p{font-size:.78rem;color:#8292A4;margin:4px 0 0}.search-title-icon{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#63B9FF,#0A84FF);color:#fff;display:grid;place-items:center;font-size:22px;box-shadow:0 9px 20px rgba(10,132,255,.18)}
.global-search-box-wrap{margin-bottom:15px}.global-search-form{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center;background:rgba(255,255,255,.87);border:1px solid #DDE8F1;border-radius:17px;padding:8px 9px 8px 14px;box-shadow:0 12px 32px rgba(50,88,130,.07)}.global-search-form>span{font-size:19px;color:#7A91A6}.global-search-form input{border:0;background:transparent;outline:none;font-size:15px;color:#193047;padding:8px 2px;min-width:0}.global-search-form input::placeholder{color:#9AA8B6}.search-clear{width:28px;height:28px;border-radius:8px;background:#EFF4F8;color:#71869A;display:grid;place-items:center;font-size:16px}
.search-start{text-align:center;padding:52px 25px}.search-start-icon{width:58px;height:58px;border-radius:18px;background:#EAF4FF;color:#0A84FF;display:grid;place-items:center;margin:0 auto;font-size:26px}.search-start strong{display:block;font-size:14px;margin-top:11px}.search-start p{font-size:.78rem;color:#8393A5;max-width:500px;margin:5px auto 0;line-height:1.55}.search-scope-chips{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:16px}.search-scope-chips span{font-size:.78rem;padding:5px 8px;border-radius:999px;background:#F1F6FA;color:#647D93}
.search-result-summary{font-size:.78rem;color:#7E8FA1;margin:0 2px 9px}.search-result-summary strong{color:#0A84FF;font-size:.78rem}.global-search-results{display:grid;gap:11px}.search-group{padding:14px}.search-group-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.search-group-head h2{font-size:.78rem;margin:0}.search-group-head span{font-size:.78rem;color:#8494A5}
.search-result-list{display:grid}.search-result-row{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:10px 7px;border-top:1px solid #EDF2F6;border-radius:9px}.search-result-row:first-child{border-top:0}.search-result-row:hover{background:#F5F9FC}.search-result-icon{width:34px;height:34px;border-radius:10px;background:#EDF5FC;display:grid;place-items:center;font-size:18px}.search-result-content{min-width:0}.search-result-content strong,.search-result-content small{display:block}.search-result-content strong{font-size:.78rem;color:#21384F}.search-result-content small{font-size:.78rem;color:#8091A3;margin-top:2px}.search-result-content p{font-size:.78rem;color:#71869A;margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-arrow{color:#91A5B6;font-size:18px}
.theme-dark .global-search-form{background:#0D2337;border-color:#1C3B57}.theme-dark .global-search-form input{color:#F0F6FC}.theme-dark .search-clear{background:#142D43;color:#ABC0D2}.theme-dark .search-start-icon,.theme-dark .search-result-icon{background:#103453}.theme-dark .search-scope-chips span{background:#10283E;color:#AFC3D5}.theme-dark .search-result-row{border-color:#19364F}.theme-dark .search-result-row:hover{background:#10283E}.theme-dark .search-result-content strong{color:#EDF5FC}.theme-dark .search-result-content small,.theme-dark .search-result-content p{color:#93A9BC}
@media(max-width:620px){.global-search-form{grid-template-columns:auto 1fr auto}.global-search-form .primary-btn{grid-column:1/4}.search-result-row{grid-template-columns:34px 1fr auto}}

/* V15.6 – Logo links back to overview */
.brand-home-link{
    text-decoration:none;
    color:inherit;
    cursor:pointer;
}
.brand-home-link strong,
.brand-home-link small{
    color:inherit;
}


/* =========================================================
   V16 – Contracts
   ========================================================= */
.contracts-v16{width:min(1320px,100%);margin:0 auto}.contracts-header{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px}.contracts-header h1{margin:0}.contracts-header p{font-size:.78rem;color:#8191A3;margin:4px 0 0}
.contracts-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:13px}.contract-summary-card{background:rgba(255,255,255,.82);border:1px solid #E3EDF5;border-radius:15px;padding:13px}.contract-summary-card strong,.contract-summary-card span{display:block}.contract-summary-card strong{font-size:23px}.contract-summary-card span{font-size:.78rem;color:#8393A4;margin-top:3px}.contract-summary-card.active strong{color:#20A577}.contract-summary-card.deadline strong{color:#E29A24}.contract-summary-card.ended strong{color:#7C8B9A}.contract-summary-card.total strong{color:#0A84FF}
.contracts-panel{padding:16px}.contracts-filterbar{display:grid;grid-template-columns:minmax(210px,1fr) 170px 175px 150px auto;gap:8px;align-items:center;margin-bottom:12px}.contracts-filterbar input,.contracts-filterbar select{border:1px solid #DDE7F0;background:#FBFDFF;color:#1D2D42;border-radius:10px;padding:9px 10px}.contracts-search{position:relative}.contracts-search span{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#8EA1B3}.contracts-search input{width:100%;padding-left:29px}
.contracts-table-wrap{overflow:auto;border:1px solid #E7EEF5;border-radius:12px}.contracts-table{width:100%;min-width:1000px;border-collapse:collapse;background:#FBFDFF}.contracts-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#8493A4;text-align:left;padding:9px 10px;background:#F4F8FB}.contracts-table td{font-size:.78rem;color:#63788D;padding:10px;border-top:1px solid #EDF2F6;vertical-align:middle}.contract-open-link{border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:#21384F}.contract-open-link strong,.contract-open-link small{display:block}.contract-open-link strong{font-size:.78rem}.contract-open-link small{font-size:.78rem;color:#8999A9;margin-top:2px}.contract-cost-interval{display:block;font-size:.78rem;color:#8B9AAA;margin-top:2px}.contract-date-cell strong,.contract-date-cell small{display:block}.contract-date-cell small{font-size:.78rem;color:#8B9AAA;margin-top:2px}.responsible-pill{font-size:.78rem;padding:4px 7px;border-radius:999px;background:#EAF4FF;color:#3D79B1}
.contract-state{display:inline-block;font-size:.78rem;font-weight:800;border-radius:999px;padding:4px 7px}.contract-state.active{background:#E9F8F2;color:#238963}.contract-state.notice-soon{background:#FFF5E2;color:#B77B18}.contract-state.notice-overdue{background:#FFF0F0;color:#C24646}.contract-state.cancelled{background:#F0ECFF;color:#7255AA}.contract-state.ended{background:#EFF3F6;color:#778695}.contract-file-count{display:block;font-size:.78rem;color:#7C90A4;margin-top:4px}.contract-actions{display:flex;gap:3px}.contract-actions form{display:inline}
.contracts-empty{text-align:center;padding:45px 20px}.contracts-empty>span{font-size:31px}.contracts-empty strong,.contracts-empty small{display:block}.contracts-empty strong{font-size:.78rem;margin-top:7px}.contracts-empty small{font-size:.78rem;color:#8797A7;margin-top:3px}.contract-categories{margin-top:12px;padding:14px}
.contract-modal-card{width:min(760px,100%)}.contract-check{display:flex!important;align-items:center;gap:8px!important}.contract-check input{width:auto!important}.cost-grid{grid-template-columns:1fr 110px}.contract-file-upload{display:grid!important;grid-template-columns:38px 1fr;gap:9px!important;align-items:center;border:1px dashed #C7D7E5;border-radius:12px;padding:11px!important;background:#F8FBFD}.contract-file-upload>span{font-size:22px}.contract-file-upload strong,.contract-file-upload small{display:block}.contract-file-upload strong{font-size:.78rem}.contract-file-upload small{font-size:.78rem;color:#8393A4;margin-top:2px}.contract-file-upload input{grid-column:2;border:0!important;padding:3px 0!important;background:transparent!important;font-size:.78rem!important}
.contract-detail-card{width:min(800px,100%)}.contract-detail-status{margin-bottom:12px}.contract-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.contract-detail-grid>div{background:#F7FAFD;border:1px solid #E7EEF5;border-radius:10px;padding:10px}.contract-detail-grid small,.contract-detail-grid strong{display:block}.contract-detail-grid small{font-size:.78rem;color:#8696A7;margin-bottom:3px}.contract-detail-grid strong{font-size:.78rem}.contract-note{margin-top:10px;background:#F7FAFD;border-radius:10px;padding:11px}.contract-note small{font-size:.78rem;color:#8797A8}.contract-note p{font-size:.78rem;line-height:1.5;margin:3px 0 0}.contract-linked-files{margin-top:16px}.contract-file-row{display:grid;grid-template-columns:34px 1fr auto 30px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #EDF2F6}.contract-file-row>span{font-size:20px}.contract-file-row strong,.contract-file-row small{display:block}.contract-file-row strong{font-size:.78rem}.contract-file-row small{font-size:.78rem;color:#8797A8;margin-top:2px}.contract-file-row form{display:inline}.contract-files-empty{font-size:.78rem;color:#8797A8;padding:11px 0}
.theme-dark .contract-summary-card{background:#0D2337;border-color:#1C3B57}.theme-dark .contracts-filterbar input,.theme-dark .contracts-filterbar select{background:#0C2135;border-color:#1C3C58;color:#ECF4FB}.theme-dark .contracts-table-wrap{border-color:#193A56}.theme-dark .contracts-table{background:#0C2135}.theme-dark .contracts-table th{background:#10283E;color:#91A8BC}.theme-dark .contracts-table td{border-color:#193A56;color:#AFC2D4}.theme-dark .contract-open-link{color:#EDF5FC}.theme-dark .contract-file-upload,.theme-dark .contract-detail-grid>div,.theme-dark .contract-note{background:#0C2135;border-color:#193A56}.theme-dark .contract-file-row{border-color:#193A56}
@media(max-width:850px){.contracts-summary{grid-template-columns:1fr 1fr}.contracts-filterbar{grid-template-columns:1fr 1fr}.contracts-search{grid-column:1/3}}
@media(max-width:560px){.contracts-header{display:grid}.contracts-filterbar{grid-template-columns:1fr}.contracts-search{grid-column:auto}.contract-detail-grid{grid-template-columns:1fr}.contracts-summary{grid-template-columns:1fr 1fr}}


/* =========================================================
   V17 – Notes
   ========================================================= */
.notes-v17{width:min(1240px,100%);margin:0 auto}.notes-header{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:12px}.notes-header h1{margin:0}.notes-header p{font-size:.78rem;color:#8191A3;margin:4px 0 0}
.notes-scope-tabs{display:flex;gap:6px;margin-bottom:10px}.notes-scope-tabs a{font-size:.78rem;font-weight:700;padding:8px 11px;border-radius:10px;background:rgba(255,255,255,.68);border:1px solid #E0EAF2;color:#708499}.notes-scope-tabs a.active{background:#0A84FF;color:#fff;border-color:#0A84FF;box-shadow:0 6px 15px rgba(10,132,255,.18)}
.notes-toolbar{padding:10px;margin-bottom:11px}.notes-toolbar form{display:grid;grid-template-columns:1fr 180px auto;gap:8px}.notes-toolbar input,.notes-toolbar select{border:1px solid #DDE7F0;background:#FBFDFF;color:#1D2D42;border-radius:10px;padding:9px 10px}.notes-search{position:relative}.notes-search span{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#8EA1B3}.notes-search input{width:100%;padding-left:29px}
.notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.note-card{position:relative;background:rgba(255,255,255,.84);border:1px solid #E4EDF5;border-radius:15px;padding:12px;min-height:175px;display:flex;flex-direction:column;box-shadow:0 8px 25px rgba(57,89,120,.04)}.note-card.pinned{border-color:#BBDCF9;box-shadow:0 0 0 2px rgba(10,132,255,.06)}.note-card-top{display:flex;justify-content:space-between;align-items:center}.note-category{font-size:.78rem;color:#66819A;background:#F0F6FA;padding:4px 7px;border-radius:999px}.note-pin{border:0;background:transparent;color:#F0A92F;font-size:17px;cursor:pointer}.note-card-open{display:block;flex:1;padding:8px 1px;text-decoration:none}.note-card-open h2{font-size:.78rem;color:#20384F;margin:0 0 6px}.note-card-open p{font-size:.78rem;line-height:1.55;color:#6F8396;margin:0;white-space:pre-line}.note-card-meta{display:flex;gap:7px;flex-wrap:wrap;font-size:.78rem;color:#8A9AAA;border-top:1px solid #EDF2F6;padding-top:8px}.note-card-actions{position:absolute;right:8px;bottom:6px;display:flex;gap:2px}.note-card-actions form{display:inline}
.notes-empty{text-align:center;padding:48px 25px}.notes-empty>span{font-size:32px}.notes-empty strong,.notes-empty small{display:block}.notes-empty strong{font-size:.78rem;margin-top:7px}.notes-empty small{font-size:.78rem;color:#8595A5;margin:4px auto 14px}.note-category-panel{padding:14px;margin-top:12px}
.note-modal-card{width:min(720px,100%)}.note-modal-card textarea{resize:vertical;min-height:190px;line-height:1.5}.note-detail-card{width:min(760px,100%)}.note-detail-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.note-detail-meta span{font-size:.78rem;padding:4px 7px;border-radius:999px;background:#EFF5F9;color:#6D8397}.note-detail-body{font-size:.78rem;line-height:1.7;color:#31495F;background:#F8FBFD;border:1px solid #E7EEF5;border-radius:12px;padding:16px;min-height:100px;white-space:normal}
.theme-dark .notes-scope-tabs a{background:#0D2337;border-color:#1C3B57;color:#AFC3D5}.theme-dark .notes-scope-tabs a.active{background:#0A84FF;color:#fff}.theme-dark .notes-toolbar input,.theme-dark .notes-toolbar select{background:#0C2135;border-color:#1C3C58;color:#EDF5FC}.theme-dark .note-card{background:#0D2337;border-color:#1C3B57}.theme-dark .note-card.pinned{border-color:#28699D}.theme-dark .note-category,.theme-dark .note-detail-meta span{background:#10283E;color:#AFC3D5}.theme-dark .note-card-open h2{color:#EDF5FC}.theme-dark .note-card-open p{color:#A8BACB}.theme-dark .note-card-meta{border-color:#193A56}.theme-dark .note-detail-body{background:#0C2135;border-color:#193A56;color:#DDE9F3}
@media(max-width:900px){.notes-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.notes-header{display:grid}.notes-grid{grid-template-columns:1fr}.notes-toolbar form{grid-template-columns:1fr}.notes-scope-tabs{display:grid;grid-template-columns:1fr 1fr}}


/* V17.1 – per-user default module start views */
.default-view-settings{display:grid;gap:9px}
.default-view-row{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px;align-items:center;border:1px solid #E5EDF4;background:#F8FBFD;border-radius:13px;padding:12px}
.default-view-label{display:flex;gap:10px;align-items:center;min-width:0}
.default-view-icon{width:38px;height:38px;flex:0 0 38px}.default-view-icon svg{width:100%;height:100%}
.default-view-label strong,.default-view-label small{display:block}.default-view-label strong{font-size:.78rem}.default-view-label small{font-size:.78rem;color:#8393A4;margin-top:2px;line-height:1.45}
.default-view-row select{width:100%;border:1px solid #DCE6F0;background:#fff;color:#21384F;border-radius:10px;padding:9px 10px;font-size:.78rem}
.theme-dark .default-view-row{background:#0C2135;border-color:#193A56}.theme-dark .default-view-row select{background:#10283E;border-color:#1C3C58;color:#EDF5FC}
@media(max-width:620px){.default-view-row{grid-template-columns:1fr}}


/* V17.2 – Contract deadline badge in global navigation */
.side-nav a b.contract-due-badge{
  background:#F6B93B;
  color:#fff;
  box-shadow:0 4px 10px rgba(246,185,59,.24);
}
.theme-dark .side-nav a b.contract-due-badge{
  background:#FFC54D;
  color:#182536;
}


/* =========================================================
   V18 – Cards / IDs
   ========================================================= */
.cards-v18{width:min(1240px,100%);margin:0 auto}.cards-header{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:12px}.cards-header h1{margin:0}.cards-header p{font-size:.78rem;color:#8191A3;margin:4px 0 0}
.cards-scope-tabs{display:flex;gap:6px;margin-bottom:10px}.cards-scope-tabs a{font-size:.78rem;font-weight:700;padding:8px 11px;border-radius:10px;background:rgba(255,255,255,.68);border:1px solid #E0EAF2;color:#708499}.cards-scope-tabs a.active{background:#0A84FF;color:#fff;border-color:#0A84FF;box-shadow:0 6px 15px rgba(10,132,255,.18)}
.cards-toolbar{padding:10px;margin-bottom:11px}.cards-toolbar form{display:grid;grid-template-columns:minmax(220px,1fr) 175px 160px auto;gap:8px}.cards-toolbar input,.cards-toolbar select{border:1px solid #DDE7F0;background:#FBFDFF;color:#1D2D42;border-radius:10px;padding:9px 10px}.cards-search{position:relative}.cards-search span{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#8EA1B3}.cards-search input{width:100%;padding-left:29px}
.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.id-card{background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(243,249,254,.88));border:1px solid #DCE9F3;border-radius:18px;padding:13px;box-shadow:0 10px 28px rgba(44,84,124,.06);min-height:210px;display:flex;flex-direction:column}.id-card.urgent{border-color:#F3B4B2}.id-card.soon{border-color:#F2D398}.id-card-head{display:flex;justify-content:space-between;gap:7px;align-items:center}.id-card-category{font-size:.78rem;color:#667F95;background:#EFF6FA;padding:4px 7px;border-radius:999px}.id-card-state{font-size:.78rem;font-weight:800;border-radius:999px;padding:4px 7px}.id-card-state.valid{background:#E9F8F2;color:#238963}.id-card-state.soon{background:#FFF5E2;color:#B67A18}.id-card-state.urgent,.id-card-state.expired{background:#FFF0F0;color:#C24646}.id-card-state.none{background:#EFF3F6;color:#758595}
.id-card-open{flex:1;padding:14px 0 8px}.id-card-person{display:flex;align-items:center;gap:10px}.id-owner-avatar,.card-detail-avatar{border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#5EB4FF,#0A84FF);color:#fff;font-weight:800;overflow:hidden}.id-owner-avatar{width:43px;height:43px;font-size:14px}.id-owner-avatar img,.card-detail-avatar img{width:100%;height:100%;object-fit:cover}.id-card-person strong,.id-card-person small{display:block}.id-card-person strong{font-size:.78rem;color:#21384F}.id-card-person small{font-size:.78rem;color:#8797A8;margin-top:2px}.id-card-data{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}.id-card-data span{background:rgba(232,243,251,.7);border-radius:9px;padding:8px}.id-card-data small,.id-card-data strong{display:block}.id-card-data small{font-size:.78rem;color:#8494A5}.id-card-data strong{font-size:.78rem;color:#31495F;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.id-card-open p{font-size:.78rem;color:#71869A;line-height:1.45;margin:10px 1px 0}.id-card-footer{border-top:1px solid #E8EFF5;padding-top:8px;display:flex;align-items:center;gap:7px;font-size:.78rem;color:#7C90A2}.id-card-actions{margin-left:auto;display:flex;gap:2px}.id-card-actions form{display:inline}
.cards-empty{text-align:center;padding:50px 25px}.cards-empty>span{font-size:34px}.cards-empty strong,.cards-empty small{display:block}.cards-empty strong{font-size:.78rem;margin-top:8px}.cards-empty small{font-size:.78rem;color:#8494A5;margin:4px auto 14px}.card-category-panel{padding:14px;margin-top:12px}
.card-modal-card{width:min(720px,100%)}.card-image-uploads{display:grid;grid-template-columns:1fr 1fr;gap:8px}.card-image-uploads label{border:1px dashed #C8D8E5;border-radius:12px;padding:10px!important;background:#F8FBFD}.card-image-uploads span{display:block;font-size:.78rem;font-weight:700;margin-bottom:7px}
.card-detail-card{width:min(760px,100%)}.card-detail-hero{display:grid;grid-template-columns:72px 1fr;gap:13px;align-items:center;margin-bottom:13px}.card-detail-avatar{width:68px;height:68px;font-size:22px}.card-detail-hero h3{font-size:14px;margin:5px 0 2px}.card-detail-hero p{font-size:.78rem;color:#8191A3;margin:0}.card-linked-files{margin-top:15px}
.theme-dark .cards-scope-tabs a{background:#0D2337;border-color:#1C3B57;color:#AFC3D5}.theme-dark .cards-scope-tabs a.active{background:#0A84FF;color:#fff}.theme-dark .cards-toolbar input,.theme-dark .cards-toolbar select{background:#0C2135;border-color:#1C3C58;color:#EDF5FC}.theme-dark .id-card{background:linear-gradient(145deg,#0D2337,#0A1F32);border-color:#1C3B57}.theme-dark .id-card-category,.theme-dark .id-card-data span{background:#10283E}.theme-dark .id-card-person strong,.theme-dark .id-card-data strong{color:#EDF5FC}.theme-dark .id-card-person small,.theme-dark .id-card-open p{color:#A8BACB}.theme-dark .id-card-footer{border-color:#193A56}.theme-dark .card-image-uploads label{background:#0C2135;border-color:#31526D}
@media(max-width:950px){.cards-grid{grid-template-columns:1fr 1fr}.cards-toolbar form{grid-template-columns:1fr 1fr}.cards-search{grid-column:1/3}}
@media(max-width:620px){.cards-header{display:grid}.cards-grid{grid-template-columns:1fr}.cards-toolbar form{grid-template-columns:1fr}.cards-search{grid-column:auto}.cards-scope-tabs{display:grid;grid-template-columns:1fr}.card-image-uploads{grid-template-columns:1fr}}


/* =========================================================
   V19 – Notification Center
   ========================================================= */
.notification-top-btn{position:relative}.notification-top-btn b{position:absolute;right:-4px;top:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#FF5B57;color:#fff;font-size:.78rem;display:grid;place-items:center;box-shadow:0 3px 8px rgba(255,91,87,.25)}
.notifications-v19{width:min(1120px,100%);margin:0 auto}.notifications-header{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:13px}.notifications-header h1{margin:0}.notifications-header p{font-size:.78rem;color:#8191A3;margin:4px 0 0}.notification-title-icon{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#63B9FF,#0A84FF);display:grid;place-items:center;color:#fff;font-size:21px}.notification-header-actions{display:flex;gap:7px}.notification-header-actions form{display:inline}
.notification-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:12px}.notification-summary-card{background:rgba(255,255,255,.82);border:1px solid #E4EDF5;border-radius:14px;padding:12px}.notification-summary-card strong,.notification-summary-card span{display:block}.notification-summary-card strong{font-size:22px}.notification-summary-card span{font-size:.78rem;color:#8393A4;margin-top:3px}.notification-summary-card.unread strong{color:#0A84FF}.notification-summary-card.urgent strong{color:#E6504D}.notification-summary-card.upcoming strong{color:#D99A28}.notification-summary-card.all strong{color:#6E8091}
.notification-filter-row{display:flex;align-items:center;gap:6px;margin-bottom:9px}.notification-filter-row>a{font-size:.78rem;font-weight:800;padding:6px 9px;border-radius:9px;color:#74889B}.notification-filter-row>a.active{background:#EAF4FF;color:#0A84FF}.notification-filter-row form{margin-left:auto}.link-button{border:0;background:transparent;color:#0A84FF;font-size:.78rem;cursor:pointer}
.notification-list-panel{padding:10px}.notification-row{display:grid;grid-template-columns:42px 1fr 82px 34px;gap:10px;align-items:center;padding:11px 8px;border-bottom:1px solid #EDF2F6;border-left:3px solid transparent}.notification-row:last-child{border-bottom:0}.notification-row.danger{border-left-color:#FF5B57}.notification-row.warning{border-left-color:#F1B43B}.notification-row.info{border-left-color:#4C9EF0}.notification-row.is-read{opacity:.72}.notification-row.is-dismissed{opacity:.45}.notification-module-icon{width:36px;height:36px;border-radius:11px;background:#F0F6FA;display:grid;place-items:center;font-size:19px}.notification-main{min-width:0}.notification-row-top{display:flex;align-items:center;gap:6px}.notification-row-top>span{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#8797A7;font-weight:800}.notification-row-top i{font-style:normal;font-size:.78rem;background:#0A84FF;color:#fff;border-radius:999px;padding:2px 5px}.notification-main>strong{display:block;font-size:.78rem;color:#21384F;margin-top:2px}.notification-main p{font-size:.78rem;color:#71869A;margin:3px 0 0}.notification-date{font-size:.78rem;color:#8797A8;text-align:right}.notification-actions form{display:inline}.dismissed-label{font-size:.78rem;color:#8A99A8}.notification-empty{text-align:center;padding:48px 20px}.notification-empty>span{font-size:31px;color:#20A577}.notification-empty strong,.notification-empty small{display:block}.notification-empty strong{font-size:.78rem;margin-top:8px}.notification-empty small{font-size:.78rem;color:#8797A8;margin-top:3px}.notification-explainer{display:grid;grid-template-columns:36px 1fr;gap:10px;margin-top:11px;padding:13px}.notification-explainer>span{width:34px;height:34px;border-radius:10px;background:#EAF4FF;color:#0A84FF;display:grid;place-items:center}.notification-explainer strong{font-size:.78rem}.notification-explainer p{font-size:.78rem;color:#8191A3;line-height:1.55;margin:3px 0 0}
.notification-setting-list{display:grid;gap:8px}.notification-setting-row{display:grid!important;grid-template-columns:1fr auto;gap:14px!important;align-items:center;background:#F8FBFD;border:1px solid #E5EDF4;border-radius:12px;padding:11px!important;cursor:pointer}.notification-setting-row strong,.notification-setting-row small{display:block}.notification-setting-row strong{font-size:.78rem}.notification-setting-row small{font-size:.78rem;color:#8292A3;line-height:1.45;margin-top:2px}.notification-setting-row input{width:18px!important;height:18px!important}.notification-push-future{margin-top:10px}
.theme-dark .notification-summary-card{background:#0D2337;border-color:#1C3B57}.theme-dark .notification-filter-row>a.active{background:#103453;color:#64B8FF}.theme-dark .notification-row{border-color:#193A56}.theme-dark .notification-module-icon,.theme-dark .notification-explainer>span{background:#103453}.theme-dark .notification-main>strong{color:#EDF5FC}.theme-dark .notification-main p{color:#A8BACB}.theme-dark .notification-setting-row{background:#0C2135;border-color:#193A56}
@media(max-width:720px){.notifications-header{display:grid}.notification-summary{grid-template-columns:1fr 1fr}.notification-row{grid-template-columns:38px 1fr 30px}.notification-date{grid-column:2;text-align:left}.notification-actions{grid-column:3;grid-row:1/3}.notification-header-actions{flex-wrap:wrap}}


/* =========================================================
   V20 – Vehicles + central warranties
   ========================================================= */
.side-nav a b.vehicle-due-badge{background:#F6B93B;color:#fff;box-shadow:0 4px 10px rgba(246,185,59,.24)}
.theme-dark .side-nav a b.vehicle-due-badge{background:#FFC54D;color:#182536}
.vehicles-v20{width:min(1240px,100%);margin:0 auto}.vehicles-header{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:12px}.vehicles-header h1{margin:0}.vehicles-header p{font-size:.78rem;color:#8191A3;margin:4px 0 0}
.vehicles-toolbar{padding:10px;margin-bottom:11px}.vehicles-toolbar form{display:grid;grid-template-columns:minmax(220px,1fr) 150px 130px 150px auto;gap:8px}.vehicles-toolbar input,.vehicles-toolbar select{border:1px solid #DDE7F0;background:#FBFDFF;color:#1D2D42;border-radius:10px;padding:9px 10px}.vehicle-search{position:relative}.vehicle-search span{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#8EA1B3}.vehicle-search input{width:100%;padding-left:29px}
.vehicles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.vehicle-card{background:rgba(255,255,255,.86);border:1px solid #E0EAF2;border-radius:17px;padding:12px;box-shadow:0 9px 26px rgba(48,84,118,.05);display:flex;flex-direction:column;min-height:230px}.vehicle-card-head{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:#688096}.vehicle-status{font-style:normal;border-radius:999px;padding:4px 7px;font-size:.78rem;font-weight:800}.vehicle-status.active{background:#E9F8F2;color:#238963}.vehicle-status.stored{background:#FFF5E2;color:#AE791D}.vehicle-status.sold{background:#EFF3F6;color:#738495}
.vehicle-open{flex:1;padding:12px 0}.vehicle-identity{display:flex;gap:10px;align-items:center}.vehicle-glyph,.vehicle-detail-glyph{display:grid;place-items:center;background:linear-gradient(135deg,#DFF2FF,#B9DFFF);border-radius:14px}.vehicle-glyph{width:48px;height:48px;font-size:25px}.vehicle-identity h2{font-size:.78rem;color:#21384F;margin:0}.vehicle-identity p{font-size:.78rem;color:#8393A4;margin:3px 0 0}.vehicle-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:13px}.vehicle-facts span{background:#F5F9FC;border-radius:9px;padding:8px}.vehicle-facts small,.vehicle-facts strong{display:block}.vehicle-facts small{font-size:.78rem;color:#8797A8}.vehicle-facts strong{font-size:.78rem;color:#31495F;margin-top:2px}.vehicle-next{margin-top:10px;border-radius:9px;padding:8px}.vehicle-next small,.vehicle-next strong{display:block}.vehicle-next small{font-size:.78rem}.vehicle-next strong{font-size:.78rem;margin-top:2px}.vehicle-next.none{background:#F0F3F6;color:#778796}.vehicle-next.ok{background:#EAF4FF;color:#397BB8}.vehicle-next.info{background:#EEF6FF;color:#397BB8}.vehicle-next.warning{background:#FFF5E2;color:#AE791D}.vehicle-next.danger{background:#FFF0F0;color:#C24646}.vehicle-footer{border-top:1px solid #E8EFF5;padding-top:8px;display:flex;align-items:center;gap:7px;font-size:.78rem;color:#7D90A2}.vehicle-actions{margin-left:auto;display:flex;gap:2px}.vehicle-actions form{display:inline}
.vehicles-empty{text-align:center;padding:50px 25px}.vehicles-empty>span{font-size:35px}.vehicles-empty strong,.vehicles-empty small{display:block}.vehicles-empty strong{font-size:.78rem;margin-top:8px}.vehicles-empty small{font-size:.78rem;color:#8494A5;margin:4px auto 14px}.vehicle-category-panel{padding:14px;margin-top:12px}.vehicle-modal-card{width:min(760px,100%)}.vehicle-section-title{font-size:.78rem;font-weight:800;color:#55718A;text-transform:uppercase;letter-spacing:.05em;margin:5px 0 -2px}.vehicle-detail-card{width:min(790px,100%)}.vehicle-detail-hero{display:flex;align-items:center;gap:12px;margin-bottom:13px}.vehicle-detail-glyph{width:65px;height:65px;font-size:34px}.vehicle-detail-hero h3{font-size:14px;margin:0}.vehicle-detail-hero p{font-size:.78rem;color:#8191A3;margin:4px 0 0}
.theme-dark .vehicles-toolbar input,.theme-dark .vehicles-toolbar select{background:#0C2135;border-color:#1C3C58;color:#EDF5FC}.theme-dark .vehicle-card{background:#0D2337;border-color:#1C3B57}.theme-dark .vehicle-identity h2,.theme-dark .vehicle-facts strong{color:#EDF5FC}.theme-dark .vehicle-identity p{color:#A8BACB}.theme-dark .vehicle-facts span{background:#10283E}.theme-dark .vehicle-footer{border-color:#193A56}.theme-dark .vehicle-glyph,.theme-dark .vehicle-detail-glyph{background:#103453}
@media(max-width:970px){.vehicles-grid{grid-template-columns:1fr 1fr}.vehicles-toolbar form{grid-template-columns:1fr 1fr}.vehicle-search{grid-column:1/3}}
@media(max-width:620px){.vehicles-header{display:grid}.vehicles-grid{grid-template-columns:1fr}.vehicles-toolbar form{grid-template-columns:1fr}.vehicle-search{grid-column:auto}}


/* =========================================================
   V20.1 – Selected Gentle Flow brand signet
   ========================================================= */
.cloud-logo{
  width:52px;
  height:46px;
  display:grid;
  place-items:center;
  flex:0 0 52px;
}
.brand-logo-img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 7px 13px rgba(10,132,255,.15));
}
.brand-block .brand-logo-img{transform:scale(1.04)}
.auth-cloud-logo{
  width:66px;
  height:58px;
}
.auth-cloud-logo .brand-logo-img{
  filter:drop-shadow(0 9px 20px rgba(0,0,0,.12));
}
/* Old generated cloud is intentionally no longer used. */
.cloud-shape{display:none!important}


/* =========================================================
   V21 – Web Push
   ========================================================= */
.push-device-panel{margin-top:12px;border-top:1px solid #E7EEF5;padding-top:13px}
.push-device-current{display:flex;justify-content:space-between;gap:14px;align-items:center;background:#F8FBFD;border:1px solid #E4EDF4;border-radius:13px;padding:12px}
.push-device-current strong,.push-device-current small{display:block}.push-device-current strong{font-size:.78rem}.push-device-current small{font-size:.78rem;color:#8292A3;margin-top:3px;line-height:1.45}.push-device-buttons{display:flex;gap:6px;flex-wrap:wrap}.push-message{margin-top:8px;border-radius:10px;padding:8px 10px;font-size:.78rem}.push-message.success{background:#EAF8F1;color:#23795A}.push-message.error{background:#FFF0F0;color:#B54343}
.registered-devices{margin-top:12px}.registered-devices h3{font-size:.78rem;margin:0 0 6px}.registered-device{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:9px 4px;border-top:1px solid #EDF2F6}.registered-device strong,.registered-device small{display:block}.registered-device strong{font-size:.78rem}.registered-device small{font-size:.78rem;color:#8797A8;margin-top:2px}.registered-device.inactive{opacity:.55}.push-last-error{color:#C14D4D!important}
.push-setup-v21{width:min(900px,100%);margin:0 auto}.push-setup-card{padding:16px}.push-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px}.push-check-grid>div{background:#F8FBFD;border:1px solid #E5EDF4;border-radius:11px;padding:10px}.push-check-grid span,.push-check-grid strong{display:block}.push-check-grid span{font-size:.78rem;color:#8393A4}.push-check-grid strong{font-size:.78rem;margin-top:3px}.push-ready-box{background:#EAF8F1;color:#276B55;border-radius:12px;padding:12px}.push-ready-box strong,.push-ready-box small{display:block}.push-ready-box small{font-size:.78rem;margin-top:3px}.settings-help{font-size:.78rem;color:#8091A2}.settings-help code{font-size:.78rem}
.theme-dark .push-device-panel{border-color:#193A56}.theme-dark .push-device-current,.theme-dark .push-check-grid>div{background:#0C2135;border-color:#193A56}.theme-dark .registered-device{border-color:#193A56}
@media(max-width:620px){.push-device-current{display:grid}.push-check-grid{grid-template-columns:1fr}}


/* V21.3 – Push diagnostics */
.push-diagnostics-box{margin-top:12px;border:1px solid #E4EDF4;background:#FBFDFF;border-radius:13px;padding:11px}
.push-diagnostic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:8px}
.push-diagnostic-grid>div{background:#F5F9FC;border-radius:9px;padding:8px}
.push-diagnostic-grid small,.push-diagnostic-grid strong{display:block}
.push-diagnostic-grid small{font-size:.78rem;color:#8292A3}
.push-diagnostic-grid strong{font-size:.78rem;color:#31495F;margin-top:2px;word-break:break-word}
.theme-dark .push-diagnostics-box{background:#0C2135;border-color:#193A56}
.theme-dark .push-diagnostic-grid>div{background:#10283E}
.theme-dark .push-diagnostic-grid strong{color:#EDF5FC}
@media(max-width:700px){.push-diagnostic-grid{grid-template-columns:1fr 1fr}}

/* V21.5 */
.danger-soft{border-color:#E9B9B9!important;color:#B84A4A!important;background:#FFF7F7!important}
.theme-dark .danger-soft{background:#2A1719!important;border-color:#63343A!important;color:#FF9D9D!important}

/* V21.7 – production Push UI cleanup */
.advanced-push-diagnostics{margin-top:12px;border-top:1px solid #E4EDF4;padding-top:10px}
.advanced-push-diagnostics>summary{cursor:pointer;font-size:.78rem;font-weight:700;color:#75899C;list-style:none}
.advanced-push-diagnostics>summary::-webkit-details-marker{display:none}
.advanced-push-diagnostics>summary:after{content:"›";float:right;font-size:14px;line-height:10px;transition:transform .15s}
.advanced-push-diagnostics[open]>summary:after{transform:rotate(90deg)}
.advanced-push-tools{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.theme-dark .advanced-push-diagnostics{border-color:#193A56}

/* V21.8 – automatic push / WebCron */
.push-automation-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:11px;border:1px solid #E4EDF4;border-radius:12px;background:#F8FBFD}
.push-automation-row strong,.push-automation-row small{display:block}.push-automation-row strong{font-size:.78rem}.push-automation-row small{font-size:.78rem;color:#8393A4;margin-top:2px}
.cron-url-box{display:grid;gap:8px;margin-bottom:12px}.cron-url-box strong{font-size:.78rem}.cron-url-box code{display:block;padding:10px;background:#F5F9FC;border:1px solid #E1EAF2;border-radius:9px;font-size:.78rem;word-break:break-all;user-select:all}
.theme-dark .push-automation-row{background:#0C2135;border-color:#193A56}.theme-dark .cron-url-box code{background:#10283E;border-color:#193A56;color:#EAF4FC}
@media(max-width:620px){.push-automation-row{display:grid}}

/* V21.10 – current-device push binding */
#currentDeviceTestBtn{margin-left:6px}
@media(max-width:620px){#currentDeviceTestBtn{margin-left:0;margin-top:6px}}


/* V22 – Sync API / device tokens */
.sync-token-once{padding:12px;border-radius:12px;background:#EAF8F1;border:1px solid #BFE5D4;margin-bottom:12px;color:#236C54}
.sync-token-once strong,.sync-token-once small,.sync-token-once code{display:block}
.sync-token-once small{font-size:.78rem;margin:3px 0 9px}.sync-token-once code{background:#fff;border:1px solid #CFE6DB;border-radius:9px;padding:10px;font-size:.78rem;word-break:break-all;user-select:all;margin-bottom:8px;color:#1D4253}
.sync-api-summary{display:flex;align-items:center;justify-content:space-between;border:1px solid #E4EDF4;background:#F8FBFD;border-radius:12px;padding:11px}
.sync-api-summary strong,.sync-api-summary small{display:block}.sync-api-summary strong{font-size:.78rem}.sync-api-summary small{font-size:.78rem;color:#8494A5;margin-top:2px}
.sync-capabilities{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 12px}.sync-capabilities span{font-size:.78rem;background:#EAF4FF;color:#2874B8;padding:5px 8px;border-radius:999px}
.sync-device-create{display:grid;grid-template-columns:1.4fr 1fr auto;gap:8px;align-items:end;margin:12px 0}.sync-device-create label{font-size:.78rem;font-weight:700}.sync-device-create input,.sync-device-create select{display:block;width:100%;margin-top:4px}
.sync-device-list{margin-top:12px}.sync-device-list h4{font-size:.78rem;margin:0 0 6px}.sync-device-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:9px 2px;border-top:1px solid #E9EFF4}.sync-device-row strong,.sync-device-row small{display:block}.sync-device-row strong{font-size:.78rem}.sync-device-row small{font-size:.78rem;color:#8494A5;margin-top:2px}.sync-device-row.inactive{opacity:.55}
.sync-api-details{margin-top:12px}.sync-endpoint{margin:9px 0}.sync-endpoint small,.sync-endpoint code{display:block}.sync-endpoint small{font-size:.78rem;color:#8494A5}.sync-endpoint code{font-size:.78rem;padding:8px;background:#F6F9FC;border-radius:8px;margin-top:3px;word-break:break-all}
.theme-dark .sync-token-once{background:#12382F;border-color:#26594B;color:#A5E7D0}.theme-dark .sync-token-once code{background:#0E2636;border-color:#25506B;color:#E9F5FC}.theme-dark .sync-api-summary{background:#0C2135;border-color:#193A56}.theme-dark .sync-capabilities span{background:#123655;color:#84C5FF}.theme-dark .sync-device-row{border-color:#193A56}.theme-dark .sync-endpoint code{background:#10283E;color:#EAF4FC}
@media(max-width:720px){.sync-device-create{grid-template-columns:1fr}.sync-device-row{grid-template-columns:1fr}}

/* V22.1 – duplicate upload / version choice */
.duplicate-upload-choice{margin-top:10px;padding:12px;border:1px solid #BFDDF8;background:#F1F8FF;border-radius:14px;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}
.duplicate-upload-choice[hidden]{display:none}
.duplicate-upload-icon{width:34px;height:34px;border-radius:10px;background:#DCEEFF;display:grid;place-items:center;font-size:18px;color:#1674C4}
.duplicate-upload-choice strong{font-size:.78rem;display:block}
.duplicate-upload-choice p{font-size:.78rem;margin:3px 0 4px;color:#36566F}
.duplicate-upload-choice small{font-size:.78rem;line-height:1.4;color:#72879A;display:block}
.duplicate-upload-actions{grid-column:1/-1;display:flex;gap:7px;flex-wrap:wrap;margin-top:3px}
.theme-dark .duplicate-upload-choice{background:#102A42;border-color:#235478}
.theme-dark .duplicate-upload-icon{background:#173D5E;color:#8DC8F7}
.theme-dark .duplicate-upload-choice p{color:#C6DCEB}.theme-dark .duplicate-upload-choice small{color:#88A4B8}

/* Files V23 – private family sharing */
.storage-scope-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
.scope-privacy.shared{background:rgba(88,86,214,.12);color:#5856d6}
.shared-person-section{margin-top:22px;padding-top:18px;border-top:1px solid var(--line,rgba(127,127,127,.18))}
.shared-person-section:first-of-type{margin-top:8px;border-top:0}
.shared-person-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.shared-person-head strong{font-size:17px}.shared-person-head span{font-size:.78rem;opacity:.62}
.share-help{font-size:13px;line-height:1.45;opacity:.72;margin:0}
@media(max-width:760px){.storage-scope-tabs{grid-template-columns:1fr}.shared-person-head{align-items:flex-start;gap:8px}}


/* V23.1 – File sharing permission management */
.share-item-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.shared-manage-link{display:block;margin:0 14px 12px;font-size:.78rem;font-weight:700;opacity:.78;text-decoration:none}
.shared-manage-link:hover{opacity:1}
.share-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.share-back-link{display:inline-block;margin-bottom:10px;text-decoration:none;font-weight:700;opacity:.8}
.share-permission-list{display:flex;flex-direction:column;gap:8px;margin-top:18px}
.share-permission-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(127,127,127,.18);border-radius:15px;background:rgba(127,127,127,.055)}
.share-permission-row.owner-row{grid-template-columns:42px minmax(0,1fr) auto}
.share-person-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;background:rgba(127,127,127,.14)}
.share-person-main{display:flex;flex-direction:column;min-width:0}
.share-person-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.share-person-main small{opacity:.62;margin-top:2px}
.share-inline-form{margin:0}
.share-inline-form select,.share-add-form select{min-height:40px;border-radius:10px;padding:7px 10px}
.share-permission-pill{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border-radius:999px;background:rgba(127,127,127,.12);font-size:.8rem;font-weight:750}
.share-permission-pill.owner{opacity:.75}
.danger-action{font-size:1.2rem}
.share-add-panel{margin-top:22px;padding-top:18px;border-top:1px solid rgba(127,127,127,.16)}
.share-add-panel h3{margin:0 0 12px}
.share-add-form{display:grid;grid-template-columns:minmax(180px,1fr) 150px auto;gap:10px;align-items:center}
.muted-share-text{opacity:.66}
@media(max-width:700px){
 .share-permission-row{grid-template-columns:38px minmax(0,1fr) auto}
 .share-permission-row .share-inline-form{grid-column:2/4;width:100%}
 .share-permission-row .share-inline-form select{width:100%}
 .share-permission-row form:last-child{grid-column:3}
 .share-add-form{grid-template-columns:1fr}
}


/* Shared-root cards can also be switched to a compact list presentation. */
body.shared-list-view .shared-owner-grid{
  display:flex!important;flex-direction:column!important;gap:8px!important
}
body.shared-list-view .shared-owner-grid .folder-card{
  width:100%;max-width:none
}

/* V23.4 – shared view uses native explorer list visuals */
.shared-person-section + .shared-person-section{margin-top:24px}
.shared-person-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0 10px}
.shared-person-head strong{font-size:1.08rem}
.shared-person-head span{opacity:.68;font-size:.86rem}
.shared-person-section .explorer-list-wrap{margin-top:0}


/* =========================================================
   V24 – Gesundheit
   ========================================================= */
.health-module{max-width:1500px}
.health-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.health-header h1{margin-bottom:4px}.health-header p{margin:0;opacity:.68}
.health-alert{padding:12px 15px;border-radius:14px;margin:0 0 14px;font-weight:700}
.health-alert.error{background:rgba(255,82,82,.12);border:1px solid rgba(255,82,82,.28)}
.health-alert.success{background:rgba(53,199,89,.12);border:1px solid rgba(53,199,89,.28)}
.health-person-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;margin-bottom:14px}
.health-person-current{display:flex;align-items:center;gap:12px}.health-person-current>div{display:flex;flex-direction:column}
.health-person-current small{opacity:.55}.health-person-current strong{font-size:1.08rem}.health-person-current span{opacity:.7;font-size:.82rem}
.health-person-select label{display:flex;align-items:center;gap:10px;font-size:.82rem;opacity:.8}
.health-person-select select{min-width:180px}
.health-tabs{display:flex;gap:6px;overflow:auto;padding:4px;margin:0 0 16px;border-bottom:1px solid rgba(127,127,127,.14)}
.health-tabs a{text-decoration:none;color:inherit;padding:10px 13px;border-radius:10px;font-weight:750;white-space:nowrap;opacity:.65}
.health-tabs a:hover{opacity:1;background:rgba(127,127,127,.07)}.health-tabs a.active{opacity:1;background:rgba(22,136,255,.14);color:#1688ff}
.health-dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,.75fr);gap:16px}
.health-dashboard-grid.secondary{grid-template-columns:1fr 1fr;margin-top:16px}
.health-overview-main,.health-list-panel,.health-due-panel{padding:18px}
.health-profile-head,.health-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.health-profile-head h2,.health-list-head h2{margin:0 0 3px}.health-profile-head p,.health-list-head p{margin:0;opacity:.6}
.health-profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.health-profile-grid>div{padding:12px;border:1px solid rgba(127,127,127,.14);border-radius:13px;background:rgba(127,127,127,.04);display:flex;flex-direction:column;gap:4px}
.health-profile-grid small,.health-profile-note small{opacity:.58}.health-profile-grid strong{overflow-wrap:anywhere}
.health-profile-note{margin-top:12px;padding:14px;border-radius:13px;background:rgba(255,184,48,.07);border:1px solid rgba(255,184,48,.16)}
.health-profile-note p{margin:5px 0 0;line-height:1.45}
.health-summary-stack{display:flex;flex-direction:column;gap:10px}
.health-stat-card{padding:15px;display:flex;align-items:center;gap:13px;text-decoration:none;color:inherit}
.health-stat-card:hover{transform:translateY(-1px)}.health-stat-icon{font-size:1.7rem;width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:rgba(22,136,255,.12)}
.health-stat-card div{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 8px;flex:1}.health-stat-card small{grid-column:1;opacity:.6}.health-stat-card strong{grid-column:2;grid-row:1/3;font-size:1.8rem;color:#1688ff}.health-stat-card p{grid-column:1;margin:0;font-size:.78rem;opacity:.65}
.health-due-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;border-top:1px solid rgba(127,127,127,.12)}
.health-due-row:first-of-type{border-top:0}.health-due-row>span{font-size:1.3rem}.health-due-row div{display:flex;flex-direction:column}.health-due-row small{opacity:.6}.health-due-row b{font-size:.82rem}.health-due-row b.danger,.health-record-meta .danger{color:#ff5d62}
.health-empty-compact{padding:22px 4px;opacity:.62}
.health-record-list{display:flex;flex-direction:column}.health-record{display:grid;grid-template-columns:46px minmax(0,1fr) minmax(140px,auto) auto;align-items:center;gap:13px;padding:13px 5px;border-top:1px solid rgba(127,127,127,.14)}
.health-record:first-child{border-top:0}.health-record-glyph{width:42px;height:42px;border-radius:13px;background:rgba(22,136,255,.1);display:grid;place-items:center;font-size:1.3rem}
.health-record-main{display:flex;flex-direction:column;min-width:0}.health-record-main strong{font-size:.98rem}.health-record-main small{opacity:.6;margin-top:2px}.health-record-main p{margin:5px 0 0;font-size:.84rem;opacity:.78}
.health-record-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.health-record-meta small{opacity:.55}.health-record-actions{display:flex;gap:3px;align-items:center}
.health-record-actions form{margin:0}.health-status,.health-severity{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:.78rem;font-weight:800}
.health-status.active{background:rgba(53,199,89,.13);color:#35c759}.health-status.paused{background:rgba(255,184,48,.14);color:#e5a423}.health-status.ended{background:rgba(127,127,127,.12)}
.health-severity.leicht{background:rgba(53,199,89,.12);color:#35c759}.health-severity.mittel{background:rgba(255,184,48,.14);color:#e5a423}.health-severity.schwer{background:rgba(255,82,82,.13);color:#ff5d62}
.health-empty{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;opacity:.68;font-size:1.6rem}.health-empty strong{font-size:1rem}.health-empty span{font-size:.85rem}
.health-document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.health-document-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:13px;border:1px solid rgba(127,127,127,.14);border-radius:14px;background:rgba(127,127,127,.035)}
.health-doc-icon{font-size:1.45rem}.health-document-card>div{display:flex;flex-direction:column;min-width:0}.health-document-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.health-document-card small{opacity:.58}
.health-doc-category{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#1688ff;font-weight:800}
.health-sharing-warning{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:14px;background:rgba(22,136,255,.07);border:1px solid rgba(22,136,255,.14);margin-bottom:15px}
.health-sharing-warning>div{display:flex;flex-direction:column}.health-sharing-warning p{margin:3px 0 0;opacity:.65}
.health-access-list{display:flex;flex-direction:column;gap:7px}.health-access-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:11px;border:1px solid rgba(127,127,127,.13);border-radius:13px}
.health-access-row>div{display:flex;flex-direction:column}.health-access-row small{opacity:.55}.health-access-row form{margin:0}.health-access-row.owner{grid-template-columns:42px minmax(0,1fr) auto}
.health-share-add{display:grid;grid-template-columns:minmax(200px,1fr) 160px auto;gap:10px;margin-top:15px;padding-top:15px;border-top:1px solid rgba(127,127,127,.14)}
.health-modal{width:min(680px,calc(100vw - 30px))}
@media(max-width:1000px){.health-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.health-dashboard-grid{grid-template-columns:1fr}.health-summary-stack{display:grid;grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.health-header{flex-direction:column}.health-person-bar{align-items:stretch;flex-direction:column}.health-person-select label{justify-content:space-between}.health-person-select select{min-width:0;max-width:60%}.health-dashboard-grid.secondary{grid-template-columns:1fr}.health-summary-stack{grid-template-columns:1fr 1fr}.health-record{grid-template-columns:42px minmax(0,1fr);align-items:start}.health-record-meta{grid-column:2;align-items:flex-start}.health-record-actions{grid-column:2}.health-document-grid{grid-template-columns:1fr}.health-document-card{grid-template-columns:40px minmax(0,1fr) auto}.health-document-card form{grid-column:3}.health-share-add{grid-template-columns:1fr}.health-access-row{grid-template-columns:38px minmax(0,1fr) auto}.health-access-row form:first-of-type{grid-column:2/4}.health-profile-grid{grid-template-columns:1fr}.health-summary-stack{grid-template-columns:1fr}}


/* =========================================================
   V25 – Inventar
   ========================================================= */
.inventory-module{max-width:1500px}.inventory-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.inventory-header h1{margin-bottom:4px}.inventory-header p{margin:0;opacity:.68}.inventory-head-actions{display:flex;gap:9px;flex-wrap:wrap}
.inventory-alert{margin-bottom:14px;padding:12px 15px;border-radius:13px;background:rgba(255,82,82,.12);border:1px solid rgba(255,82,82,.26)}
.inventory-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.inventory-stat{padding:15px;display:flex;align-items:center;gap:12px}.inventory-stat>span{width:45px;height:45px;display:grid;place-items:center;border-radius:13px;background:rgba(22,136,255,.1);font-size:1.45rem}.inventory-stat>div{display:flex;flex-direction:column}.inventory-stat small{opacity:.58}.inventory-stat strong{font-size:1.25rem}
.inventory-toolbar{padding:12px;margin-bottom:14px}.inventory-toolbar form{display:grid;grid-template-columns:minmax(240px,1fr) 190px 180px 160px auto auto;gap:9px;align-items:center}.inventory-search{display:flex;align-items:center;gap:7px;border:1px solid rgba(127,127,127,.2);border-radius:11px;padding:0 10px;background:var(--input-bg,rgba(127,127,127,.05))}.inventory-search input{border:0!important;background:transparent!important;padding-left:2px!important;box-shadow:none!important}
.inventory-list-panel{padding:17px}.inventory-list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.inventory-list-head h2{margin:0}.inventory-list-head p{margin:3px 0 0;opacity:.58}
.inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.inventory-card{display:grid;grid-template-columns:50px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px;border:1px solid rgba(127,127,127,.14);border-radius:15px;text-decoration:none;color:inherit;background:rgba(127,127,127,.025);transition:.15s ease}.inventory-card:hover{transform:translateY(-1px);border-color:rgba(22,136,255,.3);background:rgba(22,136,255,.035)}
.inventory-card-icon{width:47px;height:47px;display:grid;place-items:center;border-radius:13px;background:rgba(22,136,255,.09);font-size:1.5rem}.inventory-card-main{display:flex;flex-direction:column;min-width:0}.inventory-card-main strong{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-card-main small{opacity:.58;min-height:1em}.inventory-category{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em;color:#1688ff}
.inventory-card-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;font-size:.78rem}.inventory-status{padding:3px 8px;border-radius:999px;background:rgba(127,127,127,.1);font-weight:750}.inventory-status.active{background:rgba(53,199,89,.12);color:#35a954}.inventory-status.lent{background:rgba(255,184,48,.14);color:#d89a1d}.inventory-status.sold,.inventory-status.disposed{opacity:.55}.inventory-card-value{min-width:100px;text-align:right;display:flex;flex-direction:column}.inventory-card-value small{opacity:.55}.inventory-card-value strong{font-size:.9rem}
.inventory-empty{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}.inventory-empty>span{font-size:2.1rem}.inventory-empty small{opacity:.6}
.inventory-modal{width:min(760px,calc(100vw - 28px));max-height:min(90vh,920px);overflow:auto}.inventory-modal.small{width:min(560px,calc(100vw - 28px))}
.inventory-upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mini-upload{border:1px dashed rgba(127,127,127,.28);border-radius:13px;padding:12px;display:flex;align-items:center;gap:7px;cursor:pointer}.mini-upload input{display:none}.mini-upload:hover{border-color:#1688ff;background:rgba(22,136,255,.04)}
.inventory-linked-files{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:13px;background:rgba(127,127,127,.04)}.inventory-linked-files>a{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;text-decoration:none;color:inherit;padding:7px;border-radius:9px}.inventory-linked-files>a:hover{background:rgba(127,127,127,.07)}.inventory-linked-files a div{display:flex;flex-direction:column;min-width:0}.inventory-linked-files b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-linked-files small{opacity:.55}
.inventory-category-list{display:flex;flex-direction:column;gap:6px;padding:0 18px 8px}.inventory-category-list>div{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;padding:9px 3px;border-bottom:1px solid rgba(127,127,127,.11)}.inventory-category-list form{margin:0}.inventory-category-add{border-top:1px solid rgba(127,127,127,.11);margin-top:8px}.modal-grid.compact{grid-template-columns:100px 1fr}
.danger-btn{border:0;border-radius:11px;padding:10px 14px;background:rgba(255,82,82,.12);color:#e7474c;font-weight:800;cursor:pointer;margin-right:auto}
@media(max-width:1100px){.inventory-stats{grid-template-columns:repeat(2,1fr)}.inventory-toolbar form{grid-template-columns:1fr 1fr 1fr}.inventory-grid{grid-template-columns:1fr}}
@media(max-width:700px){.inventory-header{flex-direction:column}.inventory-head-actions{width:100%}.inventory-head-actions>*{flex:1}.inventory-stats{grid-template-columns:1fr 1fr}.inventory-toolbar form{grid-template-columns:1fr}.inventory-grid{grid-template-columns:1fr}.inventory-card{grid-template-columns:46px minmax(0,1fr) auto}.inventory-card-meta{grid-column:2;align-items:flex-start}.inventory-card-value{grid-column:3;grid-row:1/3}.inventory-upload-grid{grid-template-columns:1fr}.inventory-stat strong{font-size:1.05rem}}


/* =========================================================
   V25.1 – Navigation favorites
   ========================================================= */
.nav-section-favorites{display:flex!important;align-items:center;justify-content:space-between;margin-top:12px!important;color:inherit!important;opacity:.62}.nav-favorite-star{font-size:.8rem;color:#f5ad27}.nav-favorites{display:flex;flex-direction:column;gap:3px;margin-bottom:4px}.side-nav a.favorite-nav-item{position:relative;background:rgba(255,181,48,.055);border:1px solid rgba(255,181,48,.08)}.side-nav a.favorite-nav-item:hover{background:rgba(255,181,48,.1);border-color:rgba(255,181,48,.14)}.side-nav a.favorite-nav-item.active{background:rgba(22,136,255,.12);border-color:rgba(22,136,255,.14)}.nav-section-modules{margin-top:10px!important}
.favorite-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.favorite-module-option{display:grid;grid-template-columns:42px minmax(0,1fr) 28px;align-items:center;gap:10px;padding:11px 12px;border:1px solid rgba(127,127,127,.16);border-radius:14px;cursor:pointer;background:rgba(127,127,127,.025);transition:.15s ease}.favorite-module-option:hover{border-color:rgba(22,136,255,.28);background:rgba(22,136,255,.035)}.favorite-module-option:has(input:checked){border-color:rgba(255,181,48,.28);background:rgba(255,181,48,.055)}.favorite-module-option input{position:absolute;opacity:0;pointer-events:none}.favorite-module-icon{width:40px;height:40px;display:grid;place-items:center}.favorite-module-icon .settings-card-img{width:40px;height:40px}.favorite-module-copy{display:flex;flex-direction:column;min-width:0}.favorite-module-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.favorite-module-copy small{opacity:.55;margin-top:2px}.favorite-module-star{font-size:1.28rem;text-align:center;color:#f3ad27}.settings-hint{margin-top:12px;padding:11px 13px;border-radius:12px;background:rgba(22,136,255,.055);font-size:.86rem;opacity:.76}
@media(max-width:760px){.favorite-module-grid{grid-template-columns:1fr}}


/* =========================================================
   V25.3 – kompaktere linke Navigation
   ========================================================= */
.sidebar{padding-top:14px!important;padding-bottom:12px!important}
.side-nav{gap:2px!important}
.side-nav a{min-height:38px!important;padding-top:6px!important;padding-bottom:6px!important;margin-top:0!important;margin-bottom:0!important}
.side-nav .nav-img{width:30px!important;height:30px!important;flex:0 0 30px!important}
.nav-section{margin-top:12px!important;margin-bottom:4px!important;padding-top:0!important;padding-bottom:0!important;line-height:1.2!important}
.nav-section-favorites{margin-top:8px!important;margin-bottom:3px!important}
.nav-section-modules{margin-top:7px!important;margin-bottom:3px!important}
.nav-favorites{gap:2px!important;margin-bottom:1px!important}
.side-nav a.favorite-nav-item{min-height:38px!important}
.storage-card{margin-top:10px!important;padding-top:11px!important;padding-bottom:11px!important}
.side-footer{margin-top:9px!important;padding-top:8px!important}




/* =========================================================
   V25.5 – Manrope als feste Schriftart
   ========================================================= */
html,body,button,input,select,textarea{
  font-family:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
body{font-family:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
body :where(a,p,span,div,label,small,strong,b,em,i,u,h1,h2,h3,h4,h5,h6,summary,option,td,th,li){
  font-family:inherit;
}


/* =========================================================
   V26 – Finanzen
   ========================================================= */
.finance-module{max-width:1500px}.finance-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}.finance-header h1{margin-bottom:4px}.finance-header p{margin:0;opacity:.65}.finance-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.finance-tabs{display:flex;gap:5px;margin-bottom:14px;padding:4px;border:1px solid rgba(127,127,127,.13);border-radius:13px;width:max-content;background:rgba(127,127,127,.035)}.finance-tabs a{padding:9px 15px;border-radius:10px;font-weight:750;opacity:.62}.finance-tabs a.active{background:rgba(22,136,255,.12);color:#1688ff;opacity:1}
.finance-period{padding:12px 15px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}.finance-period>div{display:flex;flex-direction:column}.finance-period small{opacity:.55}.finance-period strong{font-size:1.05rem}.finance-period input{padding:8px 10px;border-radius:10px;border:1px solid rgba(127,127,127,.18);background:transparent;color:inherit}
.finance-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.finance-stats.three{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-stat{padding:14px;display:flex;align-items:center;gap:11px}.finance-stat>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:rgba(22,136,255,.08);font-size:1.2rem;font-weight:800}.finance-stat>div{display:flex;flex-direction:column}.finance-stat small{opacity:.55}.finance-stat strong{font-size:1.15rem}.finance-stat.income strong,.finance-row-amount.income{color:#35b968}.finance-stat.expense strong,.finance-row-amount.expense{color:#f05b61}
.finance-panel{padding:16px}.finance-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.finance-panel-head h2{margin:0}.finance-panel-head p{margin:3px 0 0;opacity:.55}.finance-contract-hint{padding:6px 9px;border-radius:999px;background:rgba(22,136,255,.08);color:#1688ff;font-size:.78rem;font-weight:750}
.finance-budget-list,.finance-tx-list{display:flex;flex-direction:column;gap:6px}.finance-budget-row{display:grid;grid-template-columns:42px minmax(0,1fr) 100px 160px 80px;align-items:center;gap:10px;padding:10px;border:1px solid rgba(127,127,127,.12);border-radius:12px}.finance-tx-row{display:grid;grid-template-columns:42px minmax(0,1fr) 150px 20px;align-items:center;gap:10px;padding:10px;border:1px solid rgba(127,127,127,.12);border-radius:12px;color:inherit;text-decoration:none}.finance-tx-row:hover,.finance-budget-row:hover{background:rgba(22,136,255,.025);border-color:rgba(22,136,255,.2)}
.finance-row-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:rgba(22,136,255,.075);font-size:1.25rem}.finance-row-main{display:flex;flex-direction:column;min-width:0}.finance-row-main strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-row-main small{opacity:.55;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-source{font-size:.78rem;font-weight:800;padding:4px 7px;border-radius:999px;text-align:center;background:rgba(127,127,127,.09)}.finance-source.contract{background:rgba(22,136,255,.09);color:#1688ff}.finance-row-amount{text-align:right;font-weight:800}.finance-row-amount small{display:block;font-weight:500;font-size:.78rem;opacity:.55;color:inherit}.finance-row-actions{text-align:right}.finance-row-actions a{font-size:.78rem;color:#1688ff}.finance-budget-note{margin-top:12px;padding:10px 12px;border-radius:11px;background:rgba(22,136,255,.05);font-size:.78rem;opacity:.78}.finance-empty{padding:36px;text-align:center;opacity:.55}
.finance-filter{padding:10px;margin-bottom:12px}.finance-filter form{display:grid;grid-template-columns:150px minmax(180px,1fr) 140px 170px 190px auto;gap:7px}.finance-filter input,.finance-filter select{min-width:0}
.finance-modal{width:min(760px,calc(100vw - 28px));max-height:90vh;overflow:auto}.finance-modal.settings{width:min(980px,calc(100vw - 28px))}.budget-month-fields{transition:.15s ease}.finance-upload{display:flex;align-items:center;gap:8px;padding:11px;border:1px dashed rgba(127,127,127,.24);border-radius:12px;cursor:pointer}.finance-upload input{margin-left:auto}.finance-receipts{display:flex;flex-direction:column;gap:5px}.finance-receipts>div{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:10px;background:rgba(127,127,127,.05)}.finance-receipts form{margin:0}.finance-receipts button,.finance-settings-list button{border:0;background:transparent;color:#e74e54;cursor:pointer}
.finance-settings-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 18px 18px}.finance-settings-columns h4{margin:0 0 8px}.finance-settings-list{display:flex;flex-direction:column;gap:5px}.finance-settings-list>div{display:grid;grid-template-columns:30px minmax(0,1fr) 100px 24px;gap:8px;align-items:center;padding:8px;border-bottom:1px solid rgba(127,127,127,.1)}.finance-settings-list small{opacity:.5}.finance-mini-form{display:grid;grid-template-columns:1fr 130px 130px auto;gap:6px;margin-top:12px}.finance-settings-columns section+section .finance-mini-form{grid-template-columns:70px 1fr 120px auto}
@media(max-width:1050px){.finance-stats{grid-template-columns:repeat(2,1fr)}.finance-filter form{grid-template-columns:1fr 1fr 1fr}.finance-budget-row{grid-template-columns:42px minmax(0,1fr) 110px 150px}.finance-row-actions{grid-column:2/5}.finance-settings-columns{grid-template-columns:1fr}}
@media(max-width:700px){.finance-header{flex-direction:column}.finance-head-actions{width:100%}.finance-head-actions>*{flex:1}.finance-tabs{width:100%}.finance-tabs a{flex:1;text-align:center}.finance-stats,.finance-stats.three{grid-template-columns:1fr 1fr}.finance-filter form{grid-template-columns:1fr}.finance-budget-row{grid-template-columns:38px minmax(0,1fr) auto}.finance-source{grid-column:2}.finance-row-amount{grid-column:3;grid-row:1/3}.finance-row-actions{grid-column:2/4}.finance-tx-row{grid-template-columns:38px minmax(0,1fr) auto}.finance-tx-row>span:last-child{display:none}.finance-settings-columns{padding:0 12px 14px}.finance-mini-form,.finance-settings-columns section+section .finance-mini-form{grid-template-columns:1fr}.finance-period{align-items:flex-end}}


/* =========================================================
   V27 – zentrale Bereichs-Berechtigungen
   ========================================================= */
.admin-permission-hint{margin:-4px 0 10px;opacity:.58;font-size:.84rem}
.scope-permission-groups{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.scope-permission-group{padding:12px 13px;border:1px solid rgba(127,127,127,.14);border-radius:14px;background:rgba(127,127,127,.02)}
.scope-permission-group h5{margin:0 0 9px;font-size:.9rem}
.scope-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.scope-permission-item{display:flex;gap:9px;align-items:flex-start;padding:9px 10px;border-radius:11px;background:rgba(127,127,127,.035);cursor:pointer}
.scope-permission-item input{margin-top:3px}.scope-permission-item span{display:flex;flex-direction:column}.scope-permission-item strong{font-size:.86rem}.scope-permission-item small{opacity:.52;margin-top:2px;font-size:.78rem}
.finance-personal-placeholder{padding:28px;display:flex;align-items:flex-start;gap:16px}.finance-personal-placeholder .finance-personal-icon{width:54px;flex:0 0 54px}.finance-personal-placeholder h2{margin:0 0 6px}.finance-personal-placeholder p{margin:0;max-width:760px;opacity:.65;line-height:1.55}
@media(max-width:720px){.scope-permission-grid{grid-template-columns:1fr}}


/* =========================================================
   V28 – Meine Finanzen
   ========================================================= */
.finance-personal-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin-bottom:10px;background:linear-gradient(135deg,rgba(22,136,255,.06),rgba(88,196,255,.025))}.finance-personal-hero h2{margin:7px 0 3px}.finance-personal-hero p{margin:0;opacity:.62;max-width:760px}.finance-private-badge{display:inline-flex;width:max-content;align-items:center;gap:4px;padding:5px 9px;border-radius:999px;background:rgba(22,136,255,.08);color:#1688ff;font-size:.78rem;font-weight:800}.finance-private-badge.small{font-size:.78rem;padding:4px 7px}.finance-personal-balance{display:flex;flex-direction:column;text-align:right;min-width:170px}.finance-personal-balance small{opacity:.52}.finance-personal-balance strong{font-size:1.35rem;margin-top:2px}
.finance-subtabs{display:flex;gap:5px;width:max-content;margin:0 0 12px;padding:4px;border-radius:12px;background:rgba(127,127,127,.045);border:1px solid rgba(127,127,127,.12)}.finance-subtabs a{padding:8px 13px;border-radius:9px;font-size:.84rem;font-weight:750;opacity:.58}.finance-subtabs a.active{background:rgba(22,136,255,.11);color:#1688ff;opacity:1}
.finance-budget-row.personal{grid-template-columns:42px minmax(0,1fr) 105px 150px 80px}.finance-personal-settings-note{font-size:.78rem;opacity:.55;margin:-3px 0 8px}.finance-mini-form.personal{grid-template-columns:1fr 135px auto}.finance-mini-form.personal.category{grid-template-columns:70px 1fr 120px auto}
@media(max-width:900px){.finance-personal-hero{align-items:flex-start}.finance-budget-row.personal{grid-template-columns:42px minmax(0,1fr) 120px}.finance-budget-row.personal .finance-source{grid-column:2}.finance-budget-row.personal .finance-row-amount{grid-column:3;grid-row:1/3}.finance-budget-row.personal .finance-row-actions{grid-column:2/4}}
@media(max-width:700px){.finance-personal-hero{flex-direction:column}.finance-personal-balance{text-align:left}.finance-subtabs{width:100%}.finance-subtabs a{flex:1;text-align:center}.finance-mini-form.personal,.finance-mini-form.personal.category{grid-template-columns:1fr}}


/* =========================================================
   V28.2 – Budget Jahresansicht
   ========================================================= */
.finance-budget-period{gap:16px}.finance-period-controls{display:flex;align-items:center;gap:9px}.finance-view-toggle{display:flex;gap:3px;padding:3px;border-radius:10px;background:rgba(127,127,127,.06);border:1px solid rgba(127,127,127,.12)}.finance-view-toggle a{padding:6px 10px;border-radius:8px;font-size:.78rem;font-weight:800;opacity:.58}.finance-view-toggle a.active{background:rgba(22,136,255,.13);color:#1688ff;opacity:1}.finance-budget-period input[type=number]{width:92px}
.finance-year-table-wrap{overflow-x:auto}.finance-year-table{width:100%;border-collapse:collapse;min-width:620px}.finance-year-table th,.finance-year-table td{padding:11px 12px;border-bottom:1px solid rgba(127,127,127,.11);text-align:right}.finance-year-table th:first-child,.finance-year-table td:first-child{text-align:left}.finance-year-table thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;opacity:.55}.finance-year-table tbody tr:hover{background:rgba(22,136,255,.025)}.finance-year-table a{color:inherit;font-weight:750}.finance-year-table .income{color:#35b968}.finance-year-table .expense{color:#f05b61}.finance-year-table tfoot th{border-bottom:0;border-top:2px solid rgba(127,127,127,.14);font-size:.92rem}
@media(max-width:700px){.finance-budget-period{align-items:flex-start;flex-direction:column}.finance-period-controls{width:100%;justify-content:space-between}.finance-view-toggle{flex:1}.finance-view-toggle a{flex:1;text-align:center}}


/* =========================================================
   V29 – Budget Dashboard
   ========================================================= */
.finance-dashboard-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:2px 0 16px}.finance-dashboard-topbar h2{font-size:1.35rem;margin:3px 0}.finance-dashboard-topbar p{margin:0;opacity:.56}.finance-dashboard-eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#2997ff}
.finance-dashboard-year{display:flex;align-items:center;gap:8px;min-width:135px;padding:8px 12px;border-radius:12px;border:1px solid rgba(127,127,127,.16);background:rgba(127,127,127,.035)}.finance-dashboard-year select{border:0;background:transparent;font-weight:800;font-size:.95rem;min-width:82px}
.finance-dashboard-summary-grid,.finance-dashboard-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.finance-dashboard-summary-grid.single,.finance-dashboard-chart-grid.single{grid-template-columns:1fr}
.finance-dashboard-summary-card{padding:18px 20px}.finance-dashboard-card-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid rgba(127,127,127,.1)}.finance-dashboard-card-head>a{padding:7px 10px;border:1px solid rgba(41,151,255,.48);border-radius:9px;color:#2997ff;font-size:.78rem;font-weight:750;white-space:nowrap}.finance-dashboard-card-title{display:flex;gap:11px;align-items:center}.finance-dashboard-card-title h3{margin:0 0 3px;font-size:1.05rem}.finance-dashboard-card-title p{margin:0;opacity:.52;font-size:.78rem}.finance-dashboard-card-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:rgba(41,151,255,.14);font-size:1.25rem}.finance-dashboard-card-icon.person{font-size:1rem;color:#fff}
.finance-dashboard-metrics{display:grid;grid-template-columns:repeat(3,1fr);padding-top:15px}.finance-dashboard-metrics>div{padding:0 15px;border-right:1px solid rgba(127,127,127,.11)}.finance-dashboard-metrics>div:first-child{padding-left:0}.finance-dashboard-metrics>div:last-child{border-right:0}.finance-dashboard-metrics small{display:block;opacity:.52;margin-bottom:4px}.finance-dashboard-metrics strong{font-size:1.22rem}.finance-dashboard-metrics .income{color:#4ad58a}.finance-dashboard-metrics .expense{color:#ff646b}.finance-dashboard-metrics .balance-positive{color:#2997ff}
.finance-dashboard-chart-card{padding:18px 20px;min-width:0}.finance-donut-layout{display:grid;grid-template-columns:minmax(170px,210px) minmax(0,1fr);gap:20px;align-items:center;margin-top:8px}.finance-donut{width:190px;height:190px;border-radius:50%;display:grid;place-items:center;margin:auto;position:relative}.finance-donut:after{content:"";position:absolute;inset:39px;border-radius:50%;background:var(--panel-bg,#0f2133);box-shadow:0 0 0 1px rgba(127,127,127,.08)}.theme-light .finance-donut:after{background:#fff}.finance-donut>div{position:relative;z-index:1;display:flex;flex-direction:column;text-align:center}.finance-donut small{font-weight:800;opacity:.62}.finance-donut strong{font-size:1.15rem}
.finance-donut-legend{display:flex;flex-direction:column;gap:7px;min-width:0}.finance-donut-legend>div{display:grid;grid-template-columns:10px minmax(0,1fr) 48px 86px;align-items:center;gap:8px;font-size:.78rem}.finance-donut-legend i{width:9px;height:9px;border-radius:50%}.finance-donut-legend span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.finance-donut-legend em{font-style:normal;opacity:.58;text-align:right}.finance-donut-legend strong{text-align:right;font-weight:750}
.finance-dashboard-year-card{padding:0;margin-bottom:18px;overflow:hidden}.finance-dashboard-year-card>.finance-panel-head{padding:15px 18px;border-bottom:1px solid rgba(127,127,127,.1)}.finance-dashboard-scope-toggle{display:flex;gap:2px;background:rgba(127,127,127,.06);padding:3px;border-radius:10px}.finance-dashboard-scope-toggle button{border:0;background:transparent;padding:6px 18px;border-radius:8px;font-weight:750;opacity:.6;cursor:pointer}.finance-dashboard-scope-toggle button.active{background:#1476d4;color:#fff;opacity:1}
.finance-dashboard-month-table{overflow-x:auto;padding:8px 18px 15px}.finance-dashboard-month-table.is-hidden{display:none}.finance-dashboard-month-table table{width:100%;min-width:900px;border-collapse:collapse}.finance-dashboard-month-table th,.finance-dashboard-month-table td{padding:10px 9px;text-align:right;border-bottom:1px solid rgba(127,127,127,.08);font-size:.78rem}.finance-dashboard-month-table thead th{opacity:.55;font-size:.78rem}.finance-dashboard-month-table th:first-child{text-align:left;min-width:110px}.finance-dashboard-month-table tbody th{font-weight:750}.finance-dashboard-month-table tbody th span{font-size:.78rem;margin-right:7px}.finance-dashboard-month-table tr.income th span{color:#4ad58a}.finance-dashboard-month-table tr.expense th span{color:#ff646b}.finance-dashboard-month-table tr.balance th span{color:#2997ff}.finance-dashboard-month-table tr.balance td{color:#2997ff;font-weight:750}.finance-dashboard-month-table td.negative{color:#ff646b!important}
@media(max-width:1050px){.finance-dashboard-summary-grid,.finance-dashboard-chart-grid{grid-template-columns:1fr}.finance-donut-layout{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:680px){.finance-dashboard-topbar{align-items:stretch;flex-direction:column}.finance-dashboard-year{width:100%;justify-content:space-between}.finance-dashboard-card-head{flex-direction:column}.finance-dashboard-metrics{grid-template-columns:1fr}.finance-dashboard-metrics>div{border-right:0;border-bottom:1px solid rgba(127,127,127,.1);padding:10px 0}.finance-dashboard-metrics>div:last-child{border-bottom:0}.finance-donut-layout{grid-template-columns:1fr}.finance-donut-legend>div{grid-template-columns:10px minmax(0,1fr) 42px 82px}}


/* =========================================================
   V30 – Multi Environment
   ========================================================= */
.brand-home-link{position:relative}
.brand-home-link .brand-copy{min-width:0;white-space:nowrap}
.global-demo-badge{
 position:absolute;right:8px;top:5px;margin:0;padding:2px 5px;border-radius:6px;
 background:rgba(255,179,0,.16);border:1px solid rgba(255,179,0,.42);color:#ffb300;
 font-size:.78rem;font-weight:900;line-height:1.25;letter-spacing:.07em;
 transform:translateY(-45%)
}
.install-v30{position:relative;max-width:720px;width:min(720px,calc(100vw - 28px))}.install-env-badge{position:absolute;right:18px;top:18px;padding:5px 9px;border-radius:8px;font-size:.78rem;font-weight:900;letter-spacing:.08em}.install-env-badge.demo{background:rgba(255,179,0,.15);border:1px solid rgba(255,179,0,.4);color:#ffb300}.install-env-badge.production{background:rgba(52,199,89,.12);border:1px solid rgba(52,199,89,.35);color:#34c759}.install-info{display:flex;flex-direction:column;gap:4px;padding:12px 14px;margin:14px 0;border-radius:12px;background:rgba(41,151,255,.08);border:1px solid rgba(41,151,255,.18);font-size:.82rem}.install-info span{opacity:.64;line-height:1.4}.install-info.subtle{background:rgba(127,127,127,.045);border-color:rgba(127,127,127,.12)}.install-v30 label small{display:block;margin-top:5px;opacity:.56;font-size:.78rem}


/* V30.3 – environment diagnostics */
.environment-diagnostics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.environment-diagnostics>div{padding:14px 16px;border:1px solid var(--line,#dfe6ef);border-radius:14px;background:rgba(127,127,127,.055);min-width:0}
.environment-diagnostics>div.wide{grid-column:1/-1}
.environment-diagnostics small{display:block;margin-bottom:5px;opacity:.68;font-size:.78rem}
.environment-diagnostics strong{display:block;overflow-wrap:anywhere;font-size:.94rem}
.environment-diagnostics code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
@media(max-width:720px){.environment-diagnostics{grid-template-columns:1fr}.environment-diagnostics>div.wide{grid-column:auto}}

/* V30.8 – folder upload + drag & drop */
.folder-upload-separator{display:flex;align-items:center;gap:10px;margin:2px 0;color:rgba(127,127,127,.72);font-size:.78rem}
.folder-upload-separator:before,.folder-upload-separator:after{content:"";height:1px;flex:1;background:rgba(127,127,127,.18)}
.folder-picker{margin-top:0}
.files-v14{position:relative}
.files-global-drop-overlay{position:absolute;z-index:90;inset:0;border:2px dashed #0a84ff;border-radius:22px;background:rgba(10,132,255,.12);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);pointer-events:none}
.files-global-drop-overlay>div{position:sticky;top:calc(50vh - 80px);margin:25vh auto 0;width:min(430px,calc(100% - 40px));padding:28px;text-align:center;border:1px solid rgba(10,132,255,.4);border-radius:20px;background:var(--panel,#fff);box-shadow:0 18px 60px rgba(0,0,0,.18)}
.files-global-drop-overlay span{display:block;font-size:2rem;color:#0a84ff;margin-bottom:8px}.files-global-drop-overlay strong{display:block;font-size:1.08rem}.files-global-drop-overlay small{display:block;margin-top:6px;opacity:.68;line-height:1.45}
.drag-upload-active{outline:none}

/* V30.9 – visible upload progress */
.upload-progress-backdrop{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:22px;background:rgba(4,13,24,.54);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.upload-progress-backdrop[hidden]{display:none!important}
.upload-progress-card{width:min(560px,100%);max-height:min(680px,calc(100vh - 44px));overflow:auto;padding:24px;border:1px solid rgba(127,127,127,.2);border-radius:22px;background:var(--panel,#fff);box-shadow:0 24px 80px rgba(0,0,0,.3)}
.upload-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.upload-progress-head h2{margin:2px 0 0}.upload-progress-head>strong{font-size:1.25rem;color:#0a84ff;font-variant-numeric:tabular-nums}
.upload-progress-track{height:10px;margin:20px 0 16px;overflow:hidden;border-radius:999px;background:rgba(127,127,127,.14)}.upload-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:#0a84ff;transition:width .12s linear}
.upload-progress-current{display:flex;justify-content:space-between;gap:18px;align-items:baseline}.upload-progress-current strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-progress-current small{flex:none;opacity:.65;font-variant-numeric:tabular-nums}
.upload-progress-list{display:grid;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(127,127,127,.14)}.upload-progress-list>div:not(.upload-progress-more){display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;align-items:center}.upload-progress-list>div>span{color:#0a84ff}.upload-progress-list>div>div{display:flex;justify-content:space-between;gap:12px;min-width:0}.upload-progress-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.upload-progress-list small,.upload-progress-more{opacity:.6;font-size:.78rem}.upload-progress-note{margin:18px 0 0;opacity:.6;font-size:.78rem}
@media(max-width:620px){.upload-progress-current{align-items:flex-start;flex-direction:column;gap:4px}.upload-progress-list>div>div{flex-direction:column;gap:2px}}

/* V30.13 – sequential upload queue */
.upload-progress-list .upload-row-state{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;font-weight:800}
.upload-progress-list>div.active .upload-row-state{color:#0a84ff}
.upload-progress-list>div.done .upload-row-state{color:#30d158}
.upload-progress-list>div.error .upload-row-state{color:#ff453a}
.upload-progress-list>div.done strong{opacity:.7}

/* =========================================================
   V30.14 – Mobile navigation: compact, gap-free layout
   ========================================================= */
@media(max-width:820px){
  .sidebar{
    width:100%!important;
    padding:14px 14px 12px!important;
    border-right:0!important;
    border-bottom:1px solid rgba(129,177,224,.12);
  }
  .brand-block{
    width:100%;
    padding:6px 8px 14px!important;
  }
  .side-nav{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%;
  }
  /* Sections must span the complete mobile grid. They were previously hidden,
     causing favorites and normal modules to flow into the same CSS grid and leave holes. */
  .side-nav .nav-section{
    display:flex!important;
    grid-column:1/-1;
    margin:8px 2px 1px!important;
    padding:0 4px!important;
    min-height:18px;
    align-items:center;
    font-size:.78rem;
  }
  .side-nav .nav-section:first-of-type{margin-top:4px!important}
  .side-nav .nav-favorites{
    display:contents!important;
  }
  .side-nav a,
  .side-nav a.favorite-nav-item{
    width:100%;
    min-width:0;
    min-height:50px!important;
    padding:7px 9px!important;
    grid-template-columns:30px minmax(0,1fr) auto!important;
    border-radius:13px;
  }
  .side-nav a span{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .side-nav a em{display:none!important}
}
@media(max-width:600px){
  .side-nav{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .side-nav a,
  .side-nav a.favorite-nav-item{
    min-height:48px!important;
  }
}
@media(max-width:380px){
  .side-nav{grid-template-columns:1fr!important}
}

/* V30.15 – Cards mobile upload */
.card-mobile-upload-actions{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 14px}.card-mobile-upload-actions .secondary-btn{font-size:.78rem}
.mobile-upload-content{text-align:center;padding:2px 18px 20px}.mobile-upload-content>p{max-width:520px;margin:0 auto 16px;opacity:.68;line-height:1.5}.mobile-upload-qr{width:244px;min-height:244px;margin:0 auto 14px;padding:12px;border-radius:18px;background:#fff;display:grid;place-items:center}.mobile-upload-qr img,.mobile-upload-qr canvas{max-width:220px!important;max-height:220px!important}.mobile-upload-content>strong,.mobile-upload-content>small{display:block}.mobile-upload-content>small{max-width:430px;margin:5px auto 0;opacity:.55;line-height:1.4}.mobile-upload-wait{margin:16px auto 0;width:max-content;max-width:100%;padding:9px 13px;border-radius:999px;background:rgba(22,136,255,.08);color:#1688ff;font-size:.8rem;font-weight:750}.mobile-upload-wait span{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#1688ff;animation:mobilePulse 1.1s infinite}.mobile-upload-wait.done{color:#30b961;background:rgba(48,209,88,.1)}.mobile-upload-wait.done span{display:none}@keyframes mobilePulse{50%{opacity:.25;transform:scale(.75)}}@media(max-width:600px){.card-mobile-upload-actions{display:grid;grid-template-columns:1fr}.mobile-upload-qr{width:224px;min-height:224px}.mobile-upload-qr img,.mobile-upload-qr canvas{max-width:200px!important;max-height:200px!important}}

/* V30.20 – Karten/Ausweise: visuelle Vorder-/Rückseiten */
.card-side-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.card-side-preview{overflow:hidden;border:1px solid rgba(127,127,127,.14);border-radius:16px;background:rgba(127,127,127,.025)}
.card-side-preview-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid rgba(127,127,127,.11)}
.card-side-preview-head strong{font-size:.86rem}
.card-side-preview-head form,.card-attachment-preview form{margin:0}
.card-preview-remove{width:26px;height:26px;border:0;border-radius:9px;background:rgba(255,69,58,.09);color:#e74e54;cursor:pointer;font-size:17px;line-height:1}
.card-side-preview-media{display:grid;place-items:center;aspect-ratio:1.58/1;background:rgba(127,127,127,.055);overflow:hidden}
.card-side-preview-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}
.card-side-preview-media:hover img{transform:scale(1.015)}
.card-preview-document{display:grid;place-items:center;width:58px;height:72px;border-radius:11px;background:rgba(22,136,255,.1);color:#1688ff;font-weight:850}
.card-side-preview-meta{display:flex;justify-content:space-between;gap:10px;padding:9px 12px}
.card-side-preview-meta span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.78rem;font-weight:700}
.card-side-preview-meta small{opacity:.55}
.card-side-preview-empty{aspect-ratio:1.58/1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;opacity:.45}
.card-side-preview-empty>span{font-size:1.8rem;font-weight:300}
.card-side-preview.empty{border-style:dashed}
.card-attachment-heading{display:flex;align-items:center;justify-content:space-between;margin:18px 2px 8px}
.card-attachment-heading span{opacity:.55;font-size:.8rem}
.card-attachment-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.card-attachment-preview{position:relative;display:grid;grid-template-columns:74px minmax(0,1fr) 28px;align-items:center;gap:9px;padding:8px;border:1px solid rgba(127,127,127,.13);border-radius:13px;background:rgba(127,127,127,.025)}
.card-attachment-preview>a{width:74px;height:56px;border-radius:9px;overflow:hidden;display:grid;place-items:center;background:rgba(127,127,127,.07)}
.card-attachment-preview img{width:100%;height:100%;object-fit:cover}
.card-attachment-preview>a span{font-size:.78rem;font-weight:800;color:#1688ff}
.card-attachment-preview>div{display:flex;flex-direction:column;min-width:0}
.card-attachment-preview strong{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-attachment-preview small{font-size:.78rem;opacity:.5;margin-top:2px}
@media(max-width:760px){
  .card-side-preview-grid{grid-template-columns:1fr}
  .card-attachment-preview-grid{grid-template-columns:1fr}
}

/* V30.21 – Mobile-Scan direkt beim Erfassen/Bearbeiten */
.card-upload-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px dashed rgba(127,127,127,.25);border-radius:14px;padding:10px}
.card-upload-choice>span{grid-column:1/-1;font-size:.78rem;font-weight:750;opacity:.62}
.card-upload-choice>input[type=file]{min-width:0;width:100%}
.card-upload-choice .card-form-mobile-btn{white-space:nowrap;padding:9px 11px}
.card-more-files-upload{display:grid!important;grid-template-columns:auto minmax(0,1fr) minmax(150px,auto) auto!important;align-items:center;gap:10px}
.card-more-files-upload>input[type=file]{min-width:0}
.card-form-mobile-state{grid-column:1/-1;display:block;min-height:0;font-size:.78rem;opacity:.6}
.card-form-mobile-state:empty{display:none}
.card-form-mobile-state.ready{color:#35c76f;opacity:1;font-weight:750}
.card-form-mobile-btn.ready{border-color:rgba(48,209,88,.28)!important;background:rgba(48,209,88,.08)!important;color:#30b961!important}
@media(max-width:760px){
  .card-upload-choice{grid-template-columns:1fr}
  .card-upload-choice>span,.card-form-mobile-state{grid-column:auto}
  .card-more-files-upload{grid-template-columns:auto 1fr!important}
  .card-more-files-upload>input[type=file],.card-more-files-upload>.card-form-mobile-btn,.card-more-files-upload>.card-form-mobile-state{grid-column:1/-1}
}

/* =========================================================
   V30.22 – Karten/Ausweise: Querformat-Vorschau
   ========================================================= */
.card-side-preview-media{
  background:rgba(6,18,29,.34);
}
.card-side-preview-media img.card-auto-orient-preview{
  width:100%;
  height:100%;
  object-fit:contain!important;
  object-position:center;
  display:block;
  transform:none!important;
}
.card-side-preview-media:hover img.card-auto-orient-preview{
  transform:none!important;
}
.card-side-preview-media img.card-preview-auto-rotated{
  object-fit:contain!important;
}
.card-attachment-preview img.card-auto-orient-preview{
  object-fit:contain!important;
  background:rgba(6,18,29,.22);
}


/* V31.1 – clearer Multi-Tenant installer */
.installer-page{align-items:flex-start!important;padding:42px 16px 64px;background:linear-gradient(180deg,#071727 0%,#0b1d2f 100%);color:#eaf2fb}
.install-v31{max-width:820px!important;width:min(820px,calc(100vw - 28px))!important;padding:34px 38px!important;background:#10253a!important;border:1px solid rgba(142,190,232,.22)!important;box-shadow:0 24px 70px rgba(0,0,0,.28)!important;color:#eef6ff!important}
.install-v31 .installer-heading{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-right:82px}
.install-v31 .installer-heading .mark{flex:0 0 auto}
.install-v31 h1{margin:0 0 5px;color:#fff!important;font-size:2rem;line-height:1.1}
.install-v31 .muted{color:#a9bdd0!important;opacity:1!important}
.install-v31 .install-info{background:#15344f!important;border-color:#2d5f86!important;color:#eaf5ff!important;padding:15px 17px!important;margin:20px 0 28px!important}
.install-v31 .install-info strong{color:#fff!important}
.install-v31 .install-info span{color:#bfd0df!important;opacity:1!important}
.install-v31 form>h2{display:flex;align-items:center;gap:10px;margin:30px 0 14px;color:#fff!important;font-size:1.2rem}
.install-v31 form>h2 small{font-size:.78rem;font-weight:600;color:#91a8bc}
.install-v31 .installer-step{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#1688ff;color:#fff;font-size:.78rem;font-weight:800}
.install-v31 label{color:#c6d6e5!important;font-weight:700!important;font-size:.82rem}
.install-v31 input,.install-v31 select{margin-top:7px!important;background:#f8fbff!important;color:#102033!important;border:1px solid #9fb8ce!important;box-shadow:none!important;min-height:48px!important}
.install-v31 input:focus,.install-v31 select:focus{border-color:#1688ff!important;box-shadow:0 0 0 3px rgba(22,136,255,.18)!important;outline:none}
.install-v31 label small{color:#93aabe!important;opacity:1!important;line-height:1.45}
.install-v31 .install-info.subtle{background:#132d45!important;border-color:#294b68!important}
.install-v31 .installer-submit{width:100%;margin-top:26px;min-height:50px;font-weight:800;font-size:.96rem}
.install-v31 .install-env-badge{top:24px;right:26px}
@media(max-width:600px){
 .installer-page{padding:16px 8px 36px}
 .install-v31{padding:25px 18px!important}
 .install-v31 .installer-heading{padding-right:64px;align-items:flex-start}
 .install-v31 h1{font-size:1.65rem}
 .install-v31 .grid{grid-template-columns:1fr!important}
 .install-v31 form>h2{margin-top:26px}
}

/* V32 – Notes Workspace */
.notes32-main{min-width:0}.notes32-top{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 14px}.notes32-top h1{margin:0}.notes32-top p{margin:4px 0 0;color:#8191a3;font-size:.78rem}.notes32-workspace{display:grid;grid-template-columns:210px 300px minmax(0,1fr);height:calc(100vh - 145px);min-height:620px;border:1px solid #dfe8f0;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.72);box-shadow:0 12px 35px rgba(31,64,96,.06)}
.notes32-nav{padding:14px 11px;background:#f5f8fb;border-right:1px solid #e2eaf1;overflow:auto}.notes32-search{position:relative;margin-bottom:12px}.notes32-search span{position:absolute;left:10px;top:9px;color:#8194a7}.notes32-search input{width:100%;padding:9px 10px 9px 28px;border:1px solid #dbe5ed;border-radius:10px;background:#fff}.notes32-nav nav,.notes32-folders,.notes32-tags{display:grid;gap:3px}.notes32-nav a{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:9px;color:#536b80;font-size:.78rem;font-weight:700;text-decoration:none}.notes32-nav a.active,.notes32-nav a:hover{background:#e5f1ff;color:#0877df}.nav-label{font-size:.78rem;letter-spacing:.12em;font-weight:800;color:#9aabba;margin:15px 8px 5px}.notes32-tags a{justify-content:space-between}.notes32-tags small{font-size:.78rem;color:#9aaaba}.notes32-add{margin-top:7px;font-size:.78rem;color:#6d8194}.notes32-add summary{cursor:pointer;padding:5px 8px}.notes32-add form{display:grid;gap:5px;padding:5px}.notes32-add input,.notes32-add select{min-width:0;border:1px solid #dbe5ed;border-radius:8px;padding:7px;background:#fff}.notes32-add button{border:0;border-radius:8px;padding:7px;background:#0a84ff;color:#fff;font-weight:700}
.notes32-list{background:#fff;border-right:1px solid #e2eaf1;overflow:auto}.notes32-list-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;padding:13px 14px 10px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid #edf2f6;font-size:.78rem;color:#8799aa}.notes32-list-head strong{color:#425c72}.notes32-item{display:block;padding:13px 14px;border-bottom:1px solid #edf2f6;text-decoration:none;color:inherit}.notes32-item:hover{background:#f8fbfe}.notes32-item.active{background:#edf6ff;box-shadow:inset 3px 0 #0a84ff}.notes32-item>div{display:grid;gap:5px}.notes32-item strong{font-size:.78rem;color:#263f55}.notes32-item span{font-size:.78rem;line-height:1.45;color:#7d90a2}.notes32-item footer{display:flex;gap:8px;margin-top:9px;font-size:.78rem;color:#9aabba}.notes32-empty{display:grid;place-items:center;text-align:center;gap:6px;padding:60px 18px;color:#8fa1b1}.notes32-empty strong{font-size:.78rem}.notes32-empty span{font-size:.78rem}
.notes32-editor{position:relative;overflow:auto;background:#fff}.notes32-editor-head{position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;align-items:center;padding:10px 18px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid #edf2f6}.notes32-save-state{font-size:.78rem;color:#7890a4}.notes32-title{display:block;width:calc(100% - 72px);margin:24px 36px 8px;border:0;outline:0;background:transparent;color:#1d3449;font:800 27px/1.2 Manrope,sans-serif}.notes32-title[readonly]{cursor:default}.notes32-toolbar{position:sticky;top:38px;z-index:3;display:flex;gap:3px;align-items:center;flex-wrap:wrap;margin:0 30px;padding:7px;border:1px solid #e3ebf2;border-radius:11px;background:rgba(250,252,254,.96);box-shadow:0 5px 18px rgba(40,70,100,.06)}.notes32-toolbar button{border:0;background:transparent;border-radius:7px;padding:6px 8px;color:#536b80;font-size:.78rem;cursor:pointer}.notes32-toolbar button:hover{background:#e8f3ff;color:#0878df}.notes32-toolbar>span{width:1px;height:18px;background:#dce6ee}.notes32-canvas{min-height:360px;margin:20px 36px 10px;outline:0;color:#334d63;font-size:.78rem;line-height:1.8}.notes32-canvas:empty:before{content:attr(data-placeholder);color:#a4b2bf}.notes32-canvas h1{font-size:21px;color:#20384f;margin:22px 0 8px}.notes32-canvas h2{font-size:16px;color:#29465e;margin:18px 0 7px}.notes32-canvas h3{font-size:13px}.notes32-canvas p{margin:7px 0}.notes32-canvas blockquote{border-left:3px solid #0a84ff;margin:12px 0;padding:7px 12px;background:#f2f8ff;color:#56738c}.notes32-canvas a{color:#0a84ff}.notes32-canvas hr{border:0;border-top:1px solid #dfe8f0;margin:20px 0}.notes32-slash{position:fixed;z-index:20;left:50%;top:36%;transform:translateX(-50%);display:grid;width:230px;padding:7px;border:1px solid #dce6ee;border-radius:12px;background:#fff;box-shadow:0 18px 50px rgba(25,50,75,.2)}.notes32-slash[hidden]{display:none}.notes32-slash button{text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:8px;color:#425d74;font-size:.78rem}.notes32-slash button:hover{background:#edf6ff}.notes32-meta{margin:26px 36px 40px;padding-top:18px;border-top:1px solid #edf2f6}.notes32-meta-grid{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:8px}.notes32-meta label{display:grid;gap:5px;font-size:.78rem;font-weight:700;color:#7c90a3}.notes32-meta input,.notes32-meta select{border:1px solid #dce6ee;border-radius:9px;padding:8px;background:#fbfdff;color:#334d63}.notes32-options{display:flex;gap:16px;margin:12px 0;font-size:.78rem;color:#5d7489}.notes32-attach{display:flex!important;align-items:center;gap:8px;margin:10px 0}.notes32-files{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.notes32-files strong{width:100%;font-size:.78rem;color:#70879b}.notes32-files a{font-size:.78rem;padding:7px 9px;border-radius:8px;background:#f2f7fb;color:#527087;text-decoration:none}.notes32-share{margin-top:16px;border-top:1px solid #edf2f6;padding-top:12px;font-size:.78rem}.notes32-share summary{cursor:pointer;font-weight:800;color:#536f86}.notes32-share-list{display:grid;gap:4px;margin:8px 0}.notes32-share-list>div{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:#f6f9fb;border-radius:8px}.notes32-share-list form{margin:0}.notes32-share-list button{border:0;background:transparent}.notes32-share-form{display:grid;grid-template-columns:1fr 120px auto;gap:6px}.notes32-share-form select{border:1px solid #dce6ee;border-radius:8px;padding:7px}.notes32-editor-empty{display:grid;place-items:center;height:100%;color:#91a2b1;font-size:.78rem}
.theme-dark .notes32-workspace{border-color:#1c3b57;background:#0b2033}.theme-dark .notes32-nav{background:#091c2e;border-color:#1a3852}.theme-dark .notes32-search input,.theme-dark .notes32-add input,.theme-dark .notes32-add select{background:#10283e;border-color:#24445f;color:#e9f3fb}.theme-dark .notes32-nav a{color:#afc2d3}.theme-dark .notes32-nav a.active,.theme-dark .notes32-nav a:hover{background:#103252;color:#72baff}.theme-dark .notes32-list,.theme-dark .notes32-editor{background:#0d2337;border-color:#1a3852}.theme-dark .notes32-list-head,.theme-dark .notes32-editor-head{background:rgba(13,35,55,.94);border-color:#193852}.theme-dark .notes32-item{border-color:#193852}.theme-dark .notes32-item:hover{background:#10283e}.theme-dark .notes32-item.active{background:#103252}.theme-dark .notes32-item strong,.theme-dark .notes32-title{color:#eef6fc}.theme-dark .notes32-item span,.theme-dark .notes32-save-state{color:#a8bbcc}.theme-dark .notes32-toolbar{background:#10283e;border-color:#24445f}.theme-dark .notes32-toolbar button{color:#bdd0df}.theme-dark .notes32-toolbar button:hover{background:#173b5a;color:#fff}.theme-dark .notes32-canvas{color:#d8e6f1}.theme-dark .notes32-canvas h1,.theme-dark .notes32-canvas h2{color:#f1f7fc}.theme-dark .notes32-canvas blockquote{background:#102c46;color:#bdd1e2}.theme-dark .notes32-meta{border-color:#193852}.theme-dark .notes32-meta input,.theme-dark .notes32-meta select,.theme-dark .notes32-share-form select{background:#10283e;border-color:#24445f;color:#e8f2fa}.theme-dark .notes32-files a,.theme-dark .notes32-share-list>div{background:#10283e;color:#bcd0df}.theme-dark .notes32-slash{background:#10283e;border-color:#2a4b66}.theme-dark .notes32-slash button{color:#d9e6f0}.theme-dark .notes32-slash button:hover{background:#173b5a}
@media(max-width:1100px){.notes32-workspace{grid-template-columns:180px 260px minmax(0,1fr)}.notes32-title{font-size:23px}.notes32-meta-grid{grid-template-columns:1fr}}
@media(max-width:760px){.notes32-top{align-items:center}.notes32-workspace{display:block;height:auto;min-height:0;overflow:visible;background:transparent;border:0;box-shadow:none}.notes32-nav{border:1px solid #e1eaf1;border-radius:14px;margin-bottom:10px;max-height:none}.notes32-nav nav{grid-template-columns:1fr 1fr}.notes32-list{border:1px solid #e1eaf1;border-radius:14px;margin-bottom:10px;max-height:330px}.notes32-editor{border:1px solid #e1eaf1;border-radius:14px;min-height:520px}.notes32-title{width:calc(100% - 32px);margin:20px 16px 8px;font-size:22px}.notes32-toolbar{margin:0 12px;top:38px}.notes32-canvas{margin:18px 18px 8px;min-height:280px;font-size:.78rem}.notes32-meta{margin:22px 18px 30px}.notes32-share-form{grid-template-columns:1fr}.theme-dark .notes32-nav,.theme-dark .notes32-list,.theme-dark .notes32-editor{border-color:#1c3b57}}


/* V32.1 – Advanced Notes Workspace */
.notes32-toolbar{flex-wrap:wrap}
.notes32-canvas table{width:100%;border-collapse:collapse;margin:18px 0;border:1px solid var(--line,#d8e2ec);border-radius:10px;overflow:hidden}
.notes32-canvas th,.notes32-canvas td{border:1px solid var(--line,#d8e2ec);padding:10px 12px;vertical-align:top;min-width:90px}
.notes32-canvas th{background:rgba(22,136,255,.09);font-weight:750}
.notes32-advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.notes32-panel{border:1px solid var(--line,#d8e2ec);border-radius:15px;padding:15px;background:rgba(255,255,255,.025)}
.notes32-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.notes32-panel-head>div{display:flex;flex-direction:column;gap:3px}
.notes32-panel-head strong{font-size:.95rem}
.notes32-panel-head span,.notes32-panel-empty{font-size:.78rem;color:var(--muted,#8293a3)}
.notes32-inline-form{display:grid;grid-template-columns:minmax(150px,1.5fr) minmax(120px,1fr) auto auto;gap:8px;margin-top:11px}
.notes32-inline-form input,.notes32-inline-form select{min-width:0}
.notes32-task-list,.notes32-entity-list,.notes32-version-list,.notes32-link-list{display:flex;flex-direction:column;gap:8px}
.notes32-task{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:9px;border-radius:10px;background:rgba(127,151,176,.08)}
.notes32-task.done>div strong{text-decoration:line-through;opacity:.62}
.notes32-task>div{display:flex;flex-direction:column;min-width:0}
.notes32-task small{color:var(--muted,#8293a3);font-size:.78rem;margin-top:2px}
.notes32-check{width:30px;height:30px;border-radius:50%;padding:0;display:grid;place-items:center}
.mini-btn{font-size:.78rem;padding:6px 9px!important;border-radius:8px;white-space:nowrap;text-decoration:none}
.notes32-entity-card{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:10px;border-radius:11px;background:rgba(127,151,176,.08)}
.notes32-entity-card>a{display:flex;flex-direction:column;gap:2px;text-decoration:none;min-width:0}
.notes32-entity-card small{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#1688ff}
.notes32-entity-card span{font-size:.78rem;color:var(--muted,#8293a3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notes32-entity-card form button{border:0;background:transparent;font-size:1.15rem}
.notes32-chip-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}
.notes32-chip{padding:5px 9px;border-radius:999px;background:rgba(22,136,255,.12);color:#1688ff;font-size:.78rem;font-weight:700}
.notes32-link-list small{font-size:.78rem;color:var(--muted,#8293a3);margin-top:3px}
.notes32-link-list a{padding:7px 9px;border-radius:9px;background:rgba(127,151,176,.07);text-decoration:none;font-size:.81rem}
.notes32-link-list a span{float:right;color:var(--muted,#8293a3);font-size:.78rem}
.notes32-version-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;border-radius:9px;background:rgba(127,151,176,.07)}
.notes32-version-list>div>span{display:flex;flex-direction:column}
.notes32-version-list small{font-size:.78rem;color:var(--muted,#8293a3)}
.theme-dark .notes32-panel{background:rgba(255,255,255,.025)}
.theme-dark .notes32-canvas th{background:rgba(22,136,255,.12)}
@media(max-width:1100px){.notes32-advanced-grid{grid-template-columns:1fr}.notes32-inline-form{grid-template-columns:1fr 1fr}.notes32-inline-form button{grid-column:auto}}
@media(max-width:700px){.notes32-inline-form{grid-template-columns:1fr}.notes32-task{grid-template-columns:auto 1fr}.notes32-task>form:last-child,.notes32-task>a{grid-column:2}.notes32-advanced-grid{gap:10px}}


/* V33 – External Storage / Swiss Backup pilot */
.v33-storage-status{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px;border:1px solid var(--line,#d9e3ec);border-radius:16px;margin-bottom:14px;background:rgba(127,151,176,.06)}
.v33-storage-status.active{border-color:rgba(38,190,112,.38);background:rgba(38,190,112,.08)}
.v33-storage-status-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:rgba(22,136,255,.12);font-size:1.35rem}
.v33-storage-status>div:nth-child(2){display:flex;flex-direction:column;gap:4px;min-width:0}
.v33-storage-status small{color:var(--muted,#8495a6)}
.v33-storage-badge{font-size:.78rem;font-weight:800;letter-spacing:.06em;padding:6px 9px;border-radius:999px;background:rgba(22,136,255,.13);color:#1688ff;white-space:nowrap}
.v33-storage-status.active .v33-storage-badge{background:rgba(38,190,112,.15);color:#26be70}
.v33-storage-note{display:flex;flex-direction:column;gap:5px;padding:13px 14px;border-radius:12px;background:rgba(22,136,255,.08);margin-bottom:14px}
.v33-storage-note strong{font-size:.87rem}
.v33-storage-note span{font-size:.78rem;color:var(--muted,#8495a6);line-height:1.45}
.v33-storage-note code{font-size:.78rem}
.v33-storage-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.v33-storage-stats>div{display:flex;flex-direction:column;gap:3px;padding:13px;border-radius:12px;background:rgba(127,151,176,.07);border:1px solid rgba(127,151,176,.11)}
.v33-storage-stats small{color:var(--muted,#8495a6);font-size:.78rem}
.v33-storage-stats strong{font-size:1.1rem}
.v33-storage-stats span{color:var(--muted,#8495a6);font-size:.78rem}
.v33-storage-form{margin-top:8px}
.v33-storage-testbox{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px;margin-top:14px;border-radius:13px;border:1px solid var(--line,#d9e3ec);background:rgba(127,151,176,.045)}
.v33-storage-testbox>div{display:flex;flex-direction:column;gap:4px}
.v33-storage-testbox small{color:var(--muted,#8495a6)}
.v33-test-result{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:7px;font-size:.78rem;font-weight:650}
.v33-test-result.ok{color:#26be70}.v33-test-result.bad{color:#e25b5b}
.v33-test-result span{font-weight:400;color:var(--muted,#8495a6)}
.v33-storage-activate{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line,#d9e3ec)}
.v33-storage-activate p{margin:0;max-width:620px;color:var(--muted,#8495a6);font-size:.78rem;line-height:1.45}
.theme-dark .v33-storage-status,.theme-dark .v33-storage-testbox{background:rgba(255,255,255,.025)}
@media(max-width:760px){
 .v33-storage-status{grid-template-columns:auto 1fr}.v33-storage-badge{grid-column:1/-1;width:max-content}
 .v33-storage-stats{grid-template-columns:1fr}
 .v33-storage-testbox,.v33-storage-activate{flex-direction:column;align-items:stretch}
}


/* V33.5 – Existing local files -> Swiss Backup migration */
.v335-migration-card{margin:14px 0;padding:16px;border-radius:15px;border:1px solid rgba(22,136,255,.28);background:rgba(22,136,255,.065)}
.v335-migration-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.v335-migration-head>div{display:flex;flex-direction:column;gap:4px}
.v335-migration-head strong{font-size:.96rem}
.v335-migration-head span{font-size:.78rem;color:var(--muted,#8495a6)}
.v335-migration-card>p{margin:10px 0 0;font-size:.78rem;line-height:1.5;color:var(--muted,#8495a6);max-width:900px}
.v335-progress{margin-top:15px;padding-top:14px;border-top:1px solid rgba(127,151,176,.18)}
.v335-progress-top{display:flex;justify-content:space-between;gap:12px;font-size:.8rem;margin-bottom:8px}
.v335-progress-track{height:9px;border-radius:999px;background:rgba(127,151,176,.16);overflow:hidden}
.v335-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:#1688ff;transition:width .25s ease}
.v335-progress small{display:block;margin-top:7px;color:var(--muted,#8495a6);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v335-migration-error{margin-top:12px;padding:10px 12px;border-radius:10px;background:rgba(226,91,91,.1);color:#e25b5b;font-size:.78rem;font-weight:650}
.v335-migration-done{margin:14px 0;padding:13px 14px;border-radius:12px;background:rgba(38,190,112,.1);color:#26be70;font-size:.82rem;font-weight:750}
@media(max-width:760px){.v335-migration-head{flex-direction:column}.v335-migration-head button{width:100%}}


/* V33.8 – controlled cleanup of irrecoverable migration entries */
.v338-cleanup{margin-top:12px;padding:13px 14px;border-radius:12px;border:1px solid rgba(226,91,91,.28);background:rgba(226,91,91,.07);display:flex;align-items:center;justify-content:space-between;gap:16px}
.v338-cleanup>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.v338-cleanup strong{font-size:.84rem;color:#ff6969}
.v338-cleanup span{font-size:.8rem;font-weight:700}
.v338-cleanup small{font-size:.78rem;color:var(--muted,#8495a6);line-height:1.4}
.v338-cleanup .danger{border-color:rgba(226,91,91,.38);color:#ff6969;white-space:nowrap}
@media(max-width:760px){.v338-cleanup{flex-direction:column;align-items:stretch}.v338-cleanup .danger{width:100%}}


/* V34 – Family quota + S3 large-file multipart */
.v34-quota-track{height:9px;border-radius:999px;background:rgba(127,151,176,.16);overflow:hidden;margin:10px 0 8px}
.v34-quota-track i{display:block;height:100%;border-radius:inherit;background:#1688ff;min-width:0}
.v34-settings-quota{margin:12px 0 16px;padding:14px;border:1px solid rgba(127,151,176,.15);border-radius:13px;background:rgba(127,151,176,.05)}
.v34-settings-quota>div:first-child{display:flex;align-items:baseline;gap:8px}
.v34-settings-quota strong{font-size:1.05rem}
.v34-settings-quota span,.v34-settings-quota small{color:var(--muted,#8495a6);font-size:.78rem}
.theme-dark .v34-settings-quota{background:rgba(255,255,255,.025)}

/* V34.2 – dynamic sidebar quota */
.storage-card .storage-head{gap:8px}
.storage-card .storage-head strong{font-size:.78rem;white-space:nowrap;text-align:right}

/* V34.3 – Notes H3, code blocks and TOC */
.notes34-toc{margin:16px 36px 4px;padding:13px 15px;border:1px solid #e1eaf1;border-radius:12px;background:#f8fbfe}
.notes34-toc[hidden]{display:none}.notes34-toc-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.notes34-toc-head strong{font-size:.78rem;color:#36536b}.notes34-toc-head span{font-size:.78rem;color:#91a2b1}.notes34-toc-links{display:grid;gap:3px}.notes34-toc-links a{display:block;padding:5px 7px;border-radius:7px;color:#557087;text-decoration:none;font-size:.78rem;line-height:1.35}.notes34-toc-links a:hover{background:#eaf4fd;color:#0878df}.notes34-toc-links a.level-1{font-weight:800}.notes34-toc-links a.level-2{padding-left:22px;font-weight:600;color:#71879a}
.notes32-canvas h3{font-size:13px;color:#36536b;margin:15px 0 6px}
.notes32-canvas pre{margin:14px 0;padding:14px 16px;overflow:auto;border:1px solid #d9e4ed;border-radius:11px;background:#0f1f2e;color:#e8f1f8;font:500 10px/1.65 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;white-space:pre;tab-size:4}
.notes32-canvas pre code{font:inherit;color:inherit;background:transparent}.notes32-canvas h1,.notes32-canvas h2{scroll-margin-top:110px}
.theme-dark .notes34-toc{background:#10283e;border-color:#24445f}.theme-dark .notes34-toc-head strong{color:#e8f2fa}.theme-dark .notes34-toc-head span{color:#8ea5b8}.theme-dark .notes34-toc-links a{color:#b9cbd9}.theme-dark .notes34-toc-links a:hover{background:#173b5a;color:#fff}.theme-dark .notes34-toc-links a.level-2{color:#96acbd}.theme-dark .notes32-canvas h3{color:#d5e4ef}.theme-dark .notes32-canvas pre{background:#07131f;border-color:#24445f;color:#e6f0f7}
@media(max-width:760px){.notes34-toc{margin:14px 18px 4px}}


/* V34.4 – TOC now includes H3 */
.notes34-toc-links a.level-3{
  padding-left:38px;
  font-weight:500;
  color:#8799aa;
  font-size:.78rem;
}
.theme-dark .notes34-toc-links a.level-3{color:#7f97aa}
.notes32-canvas h3{scroll-margin-top:110px}


/* V34.5 – Upload cancel */
.upload-progress-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}
.upload-progress-actions .upload-progress-note{margin:0;flex:1}
.upload-cancel-btn{flex:0 0 auto;min-width:110px}
.upload-cancel-btn:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:620px){
  .upload-progress-actions{flex-direction:column;align-items:stretch}
  .upload-cancel-btn{width:100%}
}


/* V35 – User management redesign */
.user35-topbar{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}
.user35-title{min-width:0}
.user35-list-card{padding:18px}
.user35-card-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}
.user35-card-head h2{margin:0 0 3px}.user35-card-head p{margin:0;color:var(--muted,#8293a3);font-size:.78rem}
.user35-table-wrap{overflow:auto;border:1px solid rgba(127,151,176,.16);border-radius:14px}
.user35-table{width:100%;border-collapse:collapse;min-width:900px}
.user35-table th{padding:11px 13px;text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#8293a3);background:rgba(127,151,176,.06);border-bottom:1px solid rgba(127,151,176,.14)}
.user35-table td{padding:13px;border-bottom:1px solid rgba(127,151,176,.11);font-size:.82rem;vertical-align:middle}
.user35-table tbody tr:last-child td{border-bottom:0}
.user35-table tbody tr:hover{background:rgba(22,136,255,.035)}
.user35-table tr.is-disabled{opacity:.64}
.user35-table td:first-child strong{display:block}.user35-table td:first-child small{display:block;margin-top:3px;color:var(--muted,#8293a3);font-size:.78rem}
.user35-profile-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:rgba(22,136,255,.10);color:#1688ff;font-size:.78rem;font-weight:750}
.user35-profile-badge.root{background:rgba(160,115,255,.12);color:#a276ff}
.user35-status{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:750}
.user35-status i{width:8px;height:8px;border-radius:50%}.user35-status.active{color:#26be70}.user35-status.active i{background:#26be70}.user35-status.disabled{color:#e49a3a}.user35-status.disabled i{background:#e49a3a}
.user35-actions-col{text-align:right!important}.user35-actions{display:flex;justify-content:flex-end;gap:6px;align-items:center}.user35-actions form{margin:0}
.user35-icon-btn{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(127,151,176,.18);border-radius:9px;background:rgba(127,151,176,.06);cursor:pointer;color:inherit;font-size:.9rem}
.user35-icon-btn:hover{background:rgba(22,136,255,.11);border-color:rgba(22,136,255,.25)}
.user35-icon-btn.edit{color:#1688ff}.user35-icon-btn.toggle{color:#e49a3a}.user35-icon-btn.enable{color:#26be70}.user35-icon-btn.delete{color:#e25b5b}
.user35-root-note{font-size:.78rem;color:var(--muted,#8293a3);white-space:nowrap}
.user35-modal-card{width:min(1080px,calc(100vw - 40px));max-height:calc(100vh - 48px);overflow:auto}
.user35-form{padding-bottom:2px}.user35-permissions-scroll{margin-top:14px;padding-top:4px;border-top:1px solid rgba(127,151,176,.14)}
.user35-permissions-scroll h4{margin:15px 0 9px}
.user35-security-box{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;margin-top:12px;padding:13px;border-radius:12px;background:rgba(127,151,176,.06);border:1px solid rgba(127,151,176,.12)}
.user35-security-box label{display:grid;gap:5px}.user35-security-box small{font-size:.78rem;color:var(--muted,#8293a3)}
.user35-check{display:grid!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px!important;padding:8px}.user35-check span{display:flex;flex-direction:column}.user35-check input{width:18px;height:18px}
.theme-dark .user35-table-wrap{border-color:#24445f}.theme-dark .user35-table th{background:rgba(255,255,255,.025)}.theme-dark .user35-table td{border-color:#193852}.theme-dark .user35-table tbody tr:hover{background:rgba(22,136,255,.055)}.theme-dark .user35-icon-btn{background:#10283e;border-color:#24445f}.theme-dark .user35-security-box{background:#10283e;border-color:#24445f}
@media(max-width:900px){.user35-topbar{grid-template-columns:1fr auto}.user35-topbar .back-link{grid-column:1/-1}.user35-card-head{align-items:flex-start}.user35-security-box{grid-template-columns:1fr}}
@media(max-width:650px){.user35-topbar{display:flex;flex-direction:column;align-items:stretch}.user35-topbar>button{width:100%}.user35-card-head{flex-direction:column}.user35-card-head button{width:100%}.user35-modal-card{width:calc(100vw - 18px);max-height:calc(100vh - 18px)}}


/* V35.2 – admin-managed user avatars */
.user35-name-cell{display:flex;align-items:center;gap:9px}
.user35-name-cell .avatar{width:32px;height:32px;flex:0 0 32px;font-size:.78rem}
.user352-avatar-admin{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0;padding:13px;border:1px solid rgba(127,151,176,.14);border-radius:12px;background:rgba(127,151,176,.05)}
.user352-avatar-preview{display:flex;align-items:center;gap:11px;min-width:0}.user352-avatar-preview>div{display:flex;flex-direction:column;gap:3px}.user352-avatar-preview small{font-size:.78rem;color:var(--muted,#8293a3)}
.user352-avatar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.user352-avatar-pick{cursor:pointer;white-space:nowrap}
.user352-remove-avatar{display:flex;align-items:center;gap:6px;font-size:.78rem;color:#e25b5b;cursor:pointer}.user352-remove-avatar input{width:17px;height:17px}
.user352-root-avatar-modal{width:min(680px,calc(100vw - 40px))}
.theme-dark .user352-avatar-admin{background:#10283e;border-color:#24445f}
@media(max-width:650px){.user352-avatar-admin{flex-direction:column;align-items:stretch}.user352-avatar-actions{flex-direction:column;align-items:stretch}.user352-avatar-pick{text-align:center}}


/* V36 – personal dashboard widgets */
.hero-card{min-height:210px!important;padding:30px 38px!important}
.hero-card .hero-content h1{font-size:clamp(2.25rem,4vw,3.65rem)!important;line-height:1.02!important;margin:10px 0 10px!important}
.hero-card .hero-content p{margin:0!important}
.hero-status{top:26px!important;right:30px!important;bottom:auto!important}
.dashboard-widget-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:20px 4px 12px}
.dashboard-widget-toolbar h2{margin:0 0 3px;font-size:1.05rem}.dashboard-widget-toolbar p{margin:0;color:var(--muted,#8397aa);font-size:.78rem}
.dashboard-widgets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.dashboard-widget{padding:17px;min-width:0}
.dashboard-widget.widget-wide{grid-column:1/-1}
.widget-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.widget-head>div{display:flex;align-items:center;gap:10px;min-width:0}.widget-head h2{margin:0;font-size:.95rem}.widget-head p{margin:2px 0 0;color:var(--muted,#8397aa);font-size:.78rem}.widget-head>a{font-size:.78rem;text-decoration:none;color:#2997ff;white-space:nowrap}
.widget-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:rgba(41,151,255,.12);flex:0 0 auto;font-size:1.1rem}.widget-img{width:26px;height:26px}
.widget-list{display:grid;gap:5px}.widget-list.compact{max-height:235px;overflow:auto}.widget-empty{padding:18px 8px;color:var(--muted,#8397aa);font-size:.78rem;text-align:center}
.widget-row{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;padding:9px 8px;border-radius:10px;text-decoration:none;color:inherit}.widget-row:hover{background:rgba(41,151,255,.07)}.widget-row>div{min-width:0}.widget-row strong{display:block;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-row small{display:block;margin-top:2px;color:var(--muted,#8397aa);font-size:.78rem}.widget-row i{font-style:normal;color:#7790a5}
.widget-dot{width:9px;height:9px;border-radius:50%;background:#71879a}.widget-dot.warn{background:#ffad33}.widget-dot.danger{background:#ff5d68}.widget-dot.neutral{background:#2997ff}
.widget-file-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:rgba(41,151,255,.10)}
.widget-storage-bar{height:7px;border-radius:999px;background:rgba(127,151,176,.16);overflow:hidden;margin:2px 0 10px}.widget-storage-bar i{display:block;height:100%;background:#2997ff;border-radius:999px}
.widget-actions{margin-top:12px}.widget-actions .primary-btn{display:inline-flex;text-decoration:none}
.finance-widget-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.finance-widget-grid>div{padding:13px;border-radius:11px;background:rgba(127,151,176,.06);border:1px solid rgba(127,151,176,.10)}.finance-widget-grid small{display:block;color:var(--muted,#8397aa);font-size:.78rem}.finance-widget-grid strong{display:block;margin-top:4px;font-size:.9rem}.finance-widget-grid .positive{color:#27bf78}.finance-widget-grid .negative{color:#ff6570}
.widget-nav-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.widget-nav-item{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;padding:11px;border:1px solid rgba(127,151,176,.13);border-radius:11px;text-decoration:none;color:inherit;background:rgba(127,151,176,.04)}.widget-nav-item:hover{border-color:rgba(41,151,255,.32);background:rgba(41,151,255,.07)}.widget-nav-img{width:28px;height:28px}.widget-nav-item span{font-size:.78rem;font-weight:750}.widget-nav-item i{font-style:normal;color:#7790a5}
.dashboard-widget-modal-card{width:min(650px,calc(100vw - 32px));max-height:calc(100vh - 44px);overflow:auto}.dashboard-widget-config{display:grid;gap:8px;margin:12px 0 16px}.dashboard-widget-config-row{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;padding:11px 12px;border:1px solid rgba(127,151,176,.14);border-radius:11px;background:rgba(127,151,176,.04);cursor:grab}.dashboard-widget-config-row.dragging{opacity:.45}.dashboard-widget-config-row.unavailable{opacity:.45;cursor:not-allowed}.drag-handle{color:#7e91a2;font-weight:800}.dashboard-widget-config-row label{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;cursor:pointer}.dashboard-widget-config-row label>span{display:flex;flex-direction:column}.dashboard-widget-config-row strong{font-size:.78rem}.dashboard-widget-config-row small{font-size:.78rem;color:var(--muted,#8397aa);margin-top:2px}
.theme-dark .finance-widget-grid>div,.theme-dark .widget-nav-item,.theme-dark .dashboard-widget-config-row{background:rgba(255,255,255,.025);border-color:#24445f}
@media(max-width:1000px){.widget-nav-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.hero-card{min-height:190px!important;padding:24px!important}.hero-status{position:static!important;margin-top:18px;width:max-content}.dashboard-widget-toolbar{align-items:flex-start}.dashboard-widgets{grid-template-columns:1fr}.dashboard-widget.widget-wide{grid-column:auto}.widget-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.dashboard-widget-toolbar{flex-direction:column}.dashboard-widget-toolbar button{width:100%}.finance-widget-grid{grid-template-columns:1fr}.widget-nav-grid{grid-template-columns:1fr}}


/* V36.2 – direct dashboard edit mode + widget sizes */
.dashboard-widget-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dashboard-widget{position:relative}
.widget-edit-controls{display:none;position:absolute;top:9px;right:9px;z-index:8;gap:5px;align-items:center}
.dashboard-edit-mode .widget-edit-controls{display:flex}
.dashboard-edit-mode .dashboard-widget{outline:1px dashed rgba(41,151,255,.48);cursor:grab;transition:transform .12s ease,opacity .12s ease}
.dashboard-edit-mode .dashboard-widget:hover{outline-color:#2997ff}
.dashboard-edit-mode .dashboard-widget.dragging{opacity:.45;transform:scale(.985)}
.widget-drag-handle,.widget-size-button{width:31px;height:31px;border-radius:8px;border:1px solid rgba(127,151,176,.2);background:rgba(10,30,48,.92);color:#dceaf5;display:grid;place-items:center;cursor:pointer;font:700 .78rem/1 Manrope,sans-serif}
.widget-drag-handle{cursor:grab;letter-spacing:-2px}.widget-size-button:hover,.widget-drag-handle:hover{border-color:#2997ff;background:#123a5c}
.widget-size-menu{position:absolute;top:37px;right:0;width:132px;padding:6px;border-radius:10px;border:1px solid rgba(127,151,176,.22);background:#0c2235;box-shadow:0 12px 32px rgba(0,0,0,.28)}
.widget-size-menu[hidden]{display:none}.widget-size-menu button{display:block;width:100%;padding:8px 9px;border:0;border-radius:7px;background:transparent;color:#dceaf5;text-align:left;cursor:pointer;font:600 .72rem Manrope,sans-serif}.widget-size-menu button:hover{background:rgba(41,151,255,.13)}
.dashboard-widget.size-large{grid-column:1/-1}
.dashboard-widget.size-medium{grid-column:auto}
.dashboard-widget.size-small{grid-column:auto}
.dashboard-widget.size-small .widget-list .widget-row:nth-child(n+4),
.dashboard-widget.size-small .family-list .family-row:nth-child(n+4),
.dashboard-widget.size-small .widget-nav-grid .widget-nav-item:nth-child(n+5){display:none}
.dashboard-widget.size-medium .widget-list .widget-row:nth-child(n+6),
.dashboard-widget.size-medium .family-list .family-row:nth-child(n+6),
.dashboard-widget.size-medium .widget-nav-grid .widget-nav-item:nth-child(n+9){display:none}
.dashboard-widget.size-small .finance-widget-grid{grid-template-columns:1fr}
.dashboard-widget.size-small .finance-widget-grid>div:nth-child(n+3){display:none}
.dashboard-widget.size-large .finance-widget-grid{grid-template-columns:repeat(4,1fr)}
.dashboard-widget.size-small .widget-head p{display:none}
.dashboard-widget.size-small .widget-icon{width:34px;height:34px}
.dashboard-widget.size-small{padding:14px}
.dashboard-widget.size-large{padding:19px}
.dashboard-widget.size-large .widget-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.dashboard-widget.size-large .family-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.dashboard-widget.size-large .widget-nav-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.dashboard-edit-mode .dashboard-widget a,.dashboard-edit-mode .dashboard-widget button:not(.widget-size-button):not(.widget-drag-handle):not(.widget-size-menu button){pointer-events:none}
@media(max-width:760px){
  .dashboard-widget.size-large,.dashboard-widget.size-medium,.dashboard-widget.size-small{grid-column:auto}
  .dashboard-widget.size-large .widget-list,.dashboard-widget.size-large .family-list{grid-template-columns:1fr}
  .dashboard-widget.size-large .finance-widget-grid{grid-template-columns:repeat(2,1fr)}
  .dashboard-widget-toolbar-actions{width:100%}
}


/* V36.3 – edit mode UX fix */
.dashboard-edit-mode #dashboardCustomizeBtn{display:none!important}
.dashboard-edit-mode #dashboardVisibilityBtn,
.dashboard-edit-mode #dashboardEditCancel,
.dashboard-edit-mode #dashboardEditSave{display:inline-flex}


/* V36.4 – masonry dashboard: widgets pack vertically without artificial row gaps */
.dashboard-widgets{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:8px;
  grid-auto-flow:dense;
  gap:14px;
  align-items:start;
}
.dashboard-widget{
  align-self:start;
  margin:0;
}
.dashboard-widget.size-large{
  grid-column:1 / -1;
}
@media(max-width:760px){
  .dashboard-widgets{
    grid-template-columns:1fr;
    grid-auto-rows:8px;
  }
  .dashboard-widget.size-large,
  .dashboard-widget.size-medium,
  .dashboard-widget.size-small{
    grid-column:1;
  }
}


/* V37 – Swiss brand signet */
.cloud-logo{
  width:58px;
  height:50px;
  flex:0 0 58px;
}
.brand-block .brand-logo-img{
  transform:scale(1.02);
}
.auth-cloud-logo{
  width:72px;
  height:62px;
}


/* V38 – screenshot-matched dark Swiss dashboard */
:root{
  --v38-bg:#061523;
  --v38-sidebar:#071827;
  --v38-panel:#0b2235;
  --v38-panel2:#0d2940;
  --v38-line:#173d5c;
  --v38-text:#f3f7fb;
  --v38-muted:#91a6b8;
  --v38-blue:#1198ff;
}
body.cloud-body.theme-dark,
body.cloud-body{
  background:
    radial-gradient(circle at 78% 0%,rgba(18,83,132,.10),transparent 24%),
    linear-gradient(180deg,#071725 0%,#06131f 100%) !important;
  color:var(--v38-text);
}
.cloud-shell{grid-template-columns:244px minmax(0,1fr)!important;background:transparent}
.sidebar{
  padding:14px 12px 18px!important;
  background:linear-gradient(180deg,#061827 0%,#071a2b 62%,#061522 100%)!important;
  border-right:1px solid #102e46!important;
  backdrop-filter:none!important;
}
.brand-block{
  min-height:96px!important;
  padding:6px 6px 18px!important;
  display:block!important;
}
.brand-lockup-swiss{
  display:block;
  width:214px;
  max-width:100%;
  height:auto;
  border-radius:0;
  object-fit:contain;
  mix-blend-mode:normal;
}
.brand-copy,.cloud-logo{display:none!important}
.side-nav{gap:3px!important}
.side-nav a{
  min-height:49px!important;
  border-radius:11px!important;
  grid-template-columns:30px 1fr auto!important;
  padding:0 13px!important;
  color:#c5d3df!important;
  font-size:15px!important;
  font-weight:500!important;
}
.side-nav a:hover{background:#0c2c45!important}
.side-nav a.active{
  background:linear-gradient(90deg,#0d4f9f,#0c67c7)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.side-nav .nav-img{width:24px!important;height:24px!important;filter:saturate(.7) brightness(1.25)}
.nav-section{font-size:.78rem!important;color:#668096!important;padding:15px 13px 5px!important}
.nav-section-favorites,.nav-section-modules,.nav-favorites{display:none!important}
.storage-card{display:none!important}

.content{padding:0 22px 26px!important}
.v38-topbar{
  height:88px!important;
  display:grid!important;
  grid-template-columns:minmax(360px,560px) 1fr auto!important;
  gap:20px!important;
  align-items:center!important;
}
.v38-global-search{
  grid-column:1;
  height:46px;
  border:1px solid #183a55;
  background:#0a2236;
  border-radius:11px;
  display:flex;
  align-items:center;
  padding:0 14px;
  max-width:560px;
}
.v38-global-search input{
  width:100%;
  border:0;
  outline:0;
  color:#dbe8f3;
  background:transparent;
  font-size:13px;
}
.v38-global-search input::placeholder{color:#8298aa}
.v38-search-icon{color:#a5b9c9;font-size:21px;margin-right:10px}
.top-actions{grid-column:3;gap:10px!important}
.round-btn,.profile-menu summary{
  background:#0a2236!important;
  border:1px solid #13324b!important;
  box-shadow:none!important;
  color:#dce7ef!important;
}
.v38-bell-btn{
  position:relative;
  width:46px!important;
  height:46px!important;
  border-radius:13px!important;
  display:grid!important;
  place-items:center;
  font-size:21px;
}
.notification-top-btn b{
  position:absolute!important;top:-6px!important;right:-5px!important;
  min-width:20px;height:20px;padding:0 5px!important;display:grid!important;place-items:center;
  background:#ff4d55!important;border-radius:999px!important;font-size:.78rem!important;
}
.v38-profile-menu summary{padding:5px 12px 5px 5px!important;border-radius:13px!important}
.profile-popover{background:#0b2235!important;border-color:#1a3c57!important;color:#dbe8f3!important}
.profile-popover a:hover{background:#102d45!important}
.profile-popover hr{border-color:#173b57!important}

.hero-card{
  min-height:158px!important;
  padding:27px 26px!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 74% -18%,rgba(111,185,248,.40) 0 13%,transparent 13.5%),
    radial-gradient(circle at 59% 112%,rgba(103,181,246,.28) 0 11%,transparent 11.5%),
    linear-gradient(135deg,#092c50 0%,#0a4b83 48%,#0b69b8 100%)!important;
  border:1px solid rgba(63,137,192,.22);
  box-shadow:none!important;
}
.hero-card:after{display:none!important}
.hero-orb{display:none!important}
.hero-content{position:relative;z-index:2;max-width:780px}
.hero-content .eyebrow{
  color:#27a8ff!important;
  font-size:16px!important;
  font-weight:700!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.hero-card .hero-content h1{
  margin:6px 0 8px!important;
  font-size:34px!important;
  line-height:1.08!important;
  letter-spacing:-.025em;
}
.hero-card .hero-content p{font-size:15px!important;color:#d8e5ef!important}
.hero-status{
  top:21px!important;right:20px!important;bottom:auto!important;
  width:208px;
  min-height:112px;
  border-radius:14px!important;
  background:#0b4675!important;
  border:1px solid rgba(128,193,240,.16)!important;
  box-shadow:none!important;
  padding:16px 17px!important;
}
.hero-status span{font-size:.78rem!important;color:#dce9f3!important}
.hero-status strong{font-size:29px!important;margin:8px 0 5px!important}
.hero-status small{font-size:.78rem!important;color:#c1d3df!important}

.v38-widget-toolbar{
  justify-content:flex-end!important;
  margin:12px 0 10px!important;
}
.dashboard-widget-toolbar-actions{margin-left:auto}
.dashboard-widget-toolbar-actions .secondary-btn,
.dashboard-widget-toolbar-actions .primary-btn{
  min-height:42px;
  border-radius:10px!important;
  background:#0b2c47!important;
  border:1px solid #184261!important;
  color:#dbe8f2!important;
  box-shadow:none!important;
  font-weight:700!important;
}
.dashboard-widget-toolbar-actions .primary-btn{background:#0b69ca!important;color:white!important}

.dashboard-widgets{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.dashboard-widget{
  background:linear-gradient(180deg,#0a2032 0%,#0a2235 100%)!important;
  border:1px solid #173d5b!important;
  box-shadow:none!important;
  border-radius:16px!important;
  color:#f2f6fa!important;
}
.widget-head{margin-bottom:8px!important}
.widget-head h2{font-size:16px!important;color:#f4f7fa!important}
.widget-head p{font-size:.78rem!important;color:#91a6b8!important}
.widget-head>a{color:#1da2ff!important;font-size:.78rem!important}
.widget-icon{
  width:44px!important;height:44px!important;border-radius:12px!important;
  background:linear-gradient(180deg,#143e63,#0d3150)!important;
  color:#fff!important;
}
.widget-img{width:29px!important;height:29px!important}
.widget-empty{
  min-height:86px;
  display:grid!important;
  place-items:center;
  color:#91a6b8!important;
  font-size:13px!important;
}
.widget-row{
  padding:10px 7px!important;
  border-radius:10px!important;
}
.widget-row:hover{background:#0f2c44!important}
.widget-row strong{font-size:13px!important;color:#f0f5f8!important}
.widget-row small{font-size:.78rem!important;color:#8ea4b6!important}
.widget-row i{color:#7191a9!important}
.widget-list.compact{max-height:245px!important}
.widget-file-icon{
  width:38px!important;height:38px!important;border-radius:10px!important;
  background:#123754!important;
}
.widget-storage-bar{height:8px!important;background:#1a3448!important;margin:7px 0 11px!important}
.widget-storage-bar i{background:#168de9!important}
.widget-actions .primary-btn{
  padding:11px 16px!important;
  border-radius:10px!important;
  background:#1089ee!important;
  color:white!important;
  font-weight:700!important;
}
.family-row{padding:6px 0!important}
.family-row .avatar{width:38px!important;height:38px!important}
.family-row strong{color:#eff5f9!important;font-size:13px!important}
.family-row small{color:#8da3b5!important;font-size:.78rem!important}
.online-dot{background:#21c77a!important}
.finance-widget-grid{gap:10px!important}
.finance-widget-grid>div{
  background:#0d2a42!important;
  border:1px solid #1d4a6b!important;
  border-radius:10px!important;
  padding:13px!important;
}
.finance-widget-grid small{color:#91a6b8!important;font-size:.78rem!important}
.finance-widget-grid strong{color:#edf4f9!important;font-size:16px!important}
.finance-widget-grid .positive{color:#2ed17f!important}
.widget-nav-item{
  background:#0c2940!important;
  border-color:#17415f!important;
  color:#edf4f8!important;
}
.main-footer{opacity:.45}

@media(max-width:1050px){
  .cloud-shell{grid-template-columns:210px minmax(0,1fr)!important}
  .brand-lockup-swiss{width:182px}
  .v38-topbar{grid-template-columns:minmax(280px,1fr) auto!important}
  .top-actions{grid-column:2}
}
@media(max-width:820px){
  .cloud-shell{grid-template-columns:1fr!important}
  .sidebar{position:relative!important;height:auto!important}
  .brand-block{min-height:78px!important}.brand-lockup-swiss{width:210px}
  .content{padding:0 14px 22px!important}
  .v38-topbar{grid-template-columns:1fr auto!important;height:auto!important;padding:12px 0!important}
  .v38-global-search{grid-column:1/-1;grid-row:2;margin-top:10px}
  .top-actions{grid-column:2;grid-row:1}
  .hero-status{position:static!important;margin-top:18px}
  .hero-card{padding:24px!important}
  .dashboard-widgets{grid-template-columns:1fr!important}
}


/* V38.1 – larger Swiss lockup, favorites restored, compact sidebar navigation */
.cloud-shell{
  grid-template-columns:272px minmax(0,1fr)!important;
}
.sidebar{
  padding:10px 10px 14px!important;
}
.brand-block{
  min-height:116px!important;
  padding:2px 4px 14px!important;
  overflow:visible!important;
}
.brand-lockup-swiss{
  width:252px!important;
  max-width:none!important;
  height:auto!important;
  margin-left:0!important;
}

/* Favorites are part of the normal navigation again. */
.nav-section-favorites{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  padding:10px 11px 4px!important;
  font-size:.78rem!important;
  color:#668096!important;
}
.nav-favorites{
  display:grid!important;
  gap:2px!important;
}
.nav-section-modules{
  display:block!important;
  padding:10px 11px 4px!important;
  font-size:.78rem!important;
}

/* More compact navigation: same usability, much less vertical space. */
.side-nav{
  gap:1px!important;
}
.side-nav a{
  min-height:38px!important;
  padding:0 10px!important;
  grid-template-columns:25px 1fr auto!important;
  gap:6px!important;
  border-radius:9px!important;
  font-size:13px!important;
}
.side-nav .nav-img{
  width:21px!important;
  height:21px!important;
}
.side-nav em{
  font-size:.78rem!important;
}
.side-nav b{
  font-size:.78rem!important;
  padding:2px 5px!important;
}
.nav-section{
  padding:10px 10px 4px!important;
  font-size:.78rem!important;
}
.nav-favorite-star{
  font-size:.78rem!important;
}

/* Keep content proportions sensible with slightly wider branding area. */
.content{
  padding-left:20px!important;
  padding-right:20px!important;
}

@media(max-width:1100px){
  .cloud-shell{
    grid-template-columns:244px minmax(0,1fr)!important;
  }
  .brand-lockup-swiss{
    width:226px!important;
  }
}
@media(max-width:820px){
  .cloud-shell{
    grid-template-columns:1fr!important;
  }
  .brand-block{
    min-height:92px!important;
  }
  .brand-lockup-swiss{
    width:250px!important;
    max-width:100%!important;
  }
}


/* V38.2 – full-width global dashboard header */
.cloud-shell{
  position:relative;
}

/* The full-width header is rendered from the dashboard content, but visually spans
   across the sidebar and content columns. */
.v382-global-header{
  position:relative;
  z-index:80;
  height:104px!important;
  margin-left:-272px;
  width:calc(100% + 272px);
  padding:0 24px!important;
  display:grid!important;
  grid-template-columns:330px minmax(360px,640px) 1fr auto!important;
  align-items:center!important;
  column-gap:24px!important;
  background:linear-gradient(180deg,#071827 0%,#081a2a 100%)!important;
  border-bottom:1px solid #12344f;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}

.v382-header-brand{
  grid-column:1;
  display:flex;
  align-items:center;
  min-width:0;
}
.v382-header-brand img{
  display:block;
  width:315px;
  max-width:100%;
  height:auto;
  object-fit:contain;
}

.v382-centered-search{
  grid-column:2;
  justify-self:center;
  width:min(100%,600px);
  max-width:600px!important;
  height:48px!important;
  margin:0!important;
}
.v382-header-actions{
  grid-column:4;
  justify-self:end;
}

.v382-bell-icon{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Sidebar now begins below the global header. */
.sidebar{
  padding-top:116px!important;
}
.sidebar .brand-block{
  display:none!important;
}

/* Reduce the visual gap below the header. */
.content{
  padding-top:0!important;
}
.hero-card{
  margin-top:12px!important;
}

@media(max-width:1100px){
  .v382-global-header{
    margin-left:-244px;
    width:calc(100% + 244px);
    grid-template-columns:290px minmax(300px,520px) 1fr auto!important;
    padding:0 18px!important;
    column-gap:16px!important;
  }
  .v382-header-brand img{width:276px}
}

@media(max-width:820px){
  .sidebar{
    padding-top:10px!important;
  }
  .sidebar .brand-block{
    display:block!important;
  }
  .v382-global-header{
    margin-left:0;
    width:100%;
    height:auto!important;
    min-height:86px;
    grid-template-columns:1fr auto!important;
    grid-template-rows:auto auto;
    gap:10px!important;
    padding:10px 0!important;
    background:transparent!important;
    border-bottom:0;
    box-shadow:none;
  }
  .v382-header-brand{
    display:none;
  }
  .v382-header-actions{
    grid-column:2;
    grid-row:1;
  }
  .v382-centered-search{
    grid-column:1/-1;
    grid-row:2;
    width:100%;
    max-width:none!important;
  }
}


/* V38.3 – persistent global header on every authenticated app page */
.cloud-shell{
  display:grid!important;
  grid-template-columns:272px minmax(0,1fr)!important;
  grid-template-rows:104px minmax(0,1fr)!important;
  min-height:100vh!important;
}

.app-global-header{
  grid-column:1 / -1;
  grid-row:1;
  position:sticky;
  top:0;
  z-index:150;
  height:104px;
  padding:0 24px;
  display:grid;
  grid-template-columns:330px minmax(360px,640px) 1fr auto;
  align-items:center;
  column-gap:24px;
  background:linear-gradient(180deg,#071827 0%,#081a2a 100%);
  border-bottom:1px solid #12344f;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}

.app-global-brand{
  grid-column:1;
  display:flex;
  align-items:center;
  min-width:0;
}
.app-global-brand img{
  width:315px;
  max-width:100%;
  height:auto;
  display:block;
  object-fit:contain;
}

.app-global-search{
  grid-column:2;
  justify-self:center;
  width:min(100%,600px);
  height:48px;
  border:1px solid #183a55;
  background:#0a2236;
  border-radius:11px;
  display:flex;
  align-items:center;
  padding:0 14px;
}
.app-global-search-icon{
  width:20px;
  height:20px;
  flex:0 0 20px;
  margin-right:10px;
  fill:none;
  stroke:#9eb3c4;
  stroke-width:1.8;
  stroke-linecap:round;
}
.app-global-search input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#dbe8f3;
  font-size:13px;
}
.app-global-search input::placeholder{color:#8298aa}

.app-global-actions{
  grid-column:4;
  display:flex;
  align-items:center;
  gap:10px;
  justify-self:end;
}
.app-global-bell{
  position:relative;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:13px;
  border:1px solid #13324b;
  background:#0a2236;
  color:#dce7ef;
}
.app-global-bell svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.app-global-bell b{
  position:absolute;
  top:-6px;
  right:-5px;
  min-width:20px;
  height:20px;
  padding:0 5px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#ff4d55;
  color:#fff;
  font-size:.78rem;
}
.app-global-profile summary{
  background:#0a2236!important;
  border:1px solid #13324b!important;
  box-shadow:none!important;
  color:#dce7ef!important;
  padding:5px 12px 5px 5px!important;
  border-radius:13px!important;
}

/* Sidebar and content now occupy the second grid row on every page. */
.sidebar{
  grid-column:1;
  grid-row:2;
  position:sticky!important;
  top:104px!important;
  height:calc(100vh - 104px)!important;
  padding-top:10px!important;
  overflow-y:auto;
}
.sidebar .brand-block{display:none!important}

.content,
.persistent-nav-content{
  grid-column:2;
  grid-row:2;
  min-width:0;
  padding-top:0!important;
}

/* The old V38.2 dashboard-only header is no longer used. */
.v382-global-header{display:none!important}

@media(max-width:1100px){
  .cloud-shell{
    grid-template-columns:244px minmax(0,1fr)!important;
  }
  .app-global-header{
    grid-template-columns:290px minmax(300px,520px) 1fr auto;
    padding:0 18px;
    column-gap:16px;
  }
  .app-global-brand img{width:276px}
}

@media(max-width:820px){
  .cloud-shell{
    display:block!important;
  }
  .app-global-header{
    position:sticky;
    top:0;
    height:auto;
    min-height:86px;
    padding:10px 14px;
    grid-template-columns:1fr auto;
    grid-template-rows:auto auto;
    gap:10px;
  }
  .app-global-brand{
    grid-column:1;
    grid-row:1;
  }
  .app-global-brand img{
    width:240px;
    max-width:100%;
  }
  .app-global-actions{
    grid-column:2;
    grid-row:1;
  }
  .app-global-search{
    grid-column:1/-1;
    grid-row:2;
    width:100%;
    max-width:none;
  }
  .sidebar{
    position:relative!important;
    top:auto!important;
    height:auto!important;
    padding-top:10px!important;
  }
  .content,.persistent-nav-content{
    padding-top:0!important;
  }
}


/* V38.4 – seamless shell: no divider between navigation/header/content */
body.cloud-body,
body.cloud-body.theme-dark,
.cloud-shell,
.sidebar,
.app-global-header,
.content{
  background:#071827!important;
}

.sidebar{
  border-right:0!important;
  box-shadow:none!important;
}

.app-global-header{
  border-bottom:0!important;
  box-shadow:none!important;
}

.content{
  border-left:0!important;
  border-top:0!important;
}


/* V38.4 transparent Swiss logo asset */
.app-global-brand,
.app-global-brand img,
.brand-lockup-swiss{
  background:transparent!important;
  box-shadow:none!important;
}


/* V38.5 – larger right-hand Swiss wordmark/tagline */
.app-global-header{
  grid-template-columns:430px minmax(360px,640px) 1fr auto!important;
}
.app-global-brand img{
  width:405px!important;
  max-width:100%!important;
}
@media(max-width:1200px){
  .app-global-header{
    grid-template-columns:390px minmax(320px,560px) 1fr auto!important;
  }
  .app-global-brand img{width:365px!important}
}
@media(max-width:950px){
  .app-global-header{
    grid-template-columns:330px minmax(280px,1fr) auto!important;
  }
  .app-global-brand img{width:315px!important}
}


/* =========================================================
   V38.6 – Complete light theme for the V38 application shell
   ========================================================= */

/* Defaults: dark logo in dark/system-dark shell, light-theme logo hidden. */
.app-brand-logo-light{display:none!important}
.app-brand-logo-dark{display:block!important}

/* Core light palette. */
body.theme-light{
  --v38-bg:#f4f8fc;
  --v38-sidebar:#f4f8fc;
  --v38-panel:#ffffff;
  --v38-panel2:#f8fbfe;
  --v38-line:#d9e5ef;
  --v38-text:#15283b;
  --v38-muted:#6e8294;
  --v38-blue:#0a84ff;

  --bg:#f4f8fc;
  --panel:#ffffff;
  --text:#15283b;
  --muted:#6e8294;
  --line:rgba(37,82,122,.13);
  --panel-bg:#ffffff;
  color:#15283b!important;
  background:#f4f8fc!important;
}

/* One continuous light surface, mirroring the seamless dark shell. */
body.theme-light.cloud-body,
body.theme-light.module-body,
body.theme-light .cloud-shell,
body.theme-light .sidebar,
body.theme-light .app-global-header,
body.theme-light .content,
body.theme-light .persistent-nav-content{
  background:#f4f8fc!important;
  color:#15283b!important;
}

/* Light logo artwork in the global header. */
body.theme-light .app-brand-logo-dark{display:none!important}
body.theme-light .app-brand-logo-light{display:block!important}
body.theme-light .app-global-brand,
body.theme-light .app-global-brand img{
  background:transparent!important;
  box-shadow:none!important;
}

/* Header */
body.theme-light .app-global-header{
  border:0!important;
  box-shadow:none!important;
}
body.theme-light .app-global-search{
  background:#ffffff!important;
  border-color:#d7e4ef!important;
  box-shadow:0 5px 18px rgba(36,75,110,.06)!important;
}
body.theme-light .app-global-search-icon{stroke:#657f94!important}
body.theme-light .app-global-search input{color:#173149!important}
body.theme-light .app-global-search input::placeholder{color:#899baa!important}
body.theme-light .app-global-bell{
  background:#ffffff!important;
  border-color:#d7e4ef!important;
  color:#31536f!important;
  box-shadow:0 5px 18px rgba(36,75,110,.06)!important;
}
body.theme-light .app-global-profile summary,
body.theme-light .profile-menu summary{
  background:#ffffff!important;
  border-color:#d7e4ef!important;
  color:#173149!important;
  box-shadow:0 5px 18px rgba(36,75,110,.06)!important;
}
body.theme-light .profile-popover{
  background:#ffffff!important;
  color:#173149!important;
  border-color:#d7e4ef!important;
  box-shadow:0 20px 55px rgba(32,66,96,.16)!important;
}
body.theme-light .profile-popover a:hover{background:#edf5fb!important}
body.theme-light .profile-popover hr{border-color:#e1eaf1!important}
body.theme-light .profile-card-head small{color:#74899b!important}

/* Navigation */
body.theme-light .sidebar{
  border:0!important;
  box-shadow:none!important;
}
body.theme-light .side-nav a{
  color:#3e5971!important;
}
body.theme-light .side-nav a:hover{
  background:#e8f2fa!important;
  color:#173149!important;
}
body.theme-light .side-nav a.active{
  color:#ffffff!important;
  background:linear-gradient(90deg,#167ee8,#3099f5)!important;
  box-shadow:0 8px 18px rgba(22,126,232,.16)!important;
}
body.theme-light .side-nav .nav-img{
  filter:none!important;
}
body.theme-light .side-nav em,
body.theme-light .nav-section{
  color:#8194a4!important;
}
body.theme-light .nav-section-favorites{
  color:#7c90a0!important;
}
body.theme-light .nav-favorite-star{color:#d59c24!important}
body.theme-light .side-nav a.disabled{opacity:.5!important}

/* Generic cards, module panels, forms and modals. */
body.theme-light .glass-panel,
body.theme-light .module-card,
body.theme-light .module-panel,
body.theme-light .settings-card,
body.theme-light .dashboard-widget,
body.theme-light .user35-list-card,
body.theme-light .modal-card,
body.theme-light .card,
body.theme-light .panel{
  background:#ffffff!important;
  border-color:#d9e5ef!important;
  color:#173149!important;
  box-shadow:0 7px 24px rgba(36,75,110,.055)!important;
}
body.theme-light .modal-backdrop{
  background:rgba(39,61,80,.32)!important;
}
body.theme-light .module-topbar h1,
body.theme-light .module-topbar h2,
body.theme-light .module-main h1,
body.theme-light .module-main h2,
body.theme-light .module-main h3,
body.theme-light .module-main h4{
  color:#142b40!important;
}
body.theme-light .module-topbar p,
body.theme-light .module-main small,
body.theme-light .module-main .muted,
body.theme-light .admin-permission-hint{
  color:#718697!important;
}

/* Inputs/selects/textareas throughout modules. */
body.theme-light input:not([type="checkbox"]):not([type="radio"]),
body.theme-light select,
body.theme-light textarea,
body.theme-light [contenteditable="true"]{
  background:#ffffff!important;
  color:#18334c!important;
  border-color:#cfdde8!important;
}
body.theme-light input::placeholder,
body.theme-light textarea::placeholder{color:#91a2b0!important}
body.theme-light input:focus,
body.theme-light select:focus,
body.theme-light textarea:focus{
  border-color:#4da4ef!important;
  box-shadow:0 0 0 3px rgba(26,139,236,.10)!important;
}

/* Buttons */
body.theme-light .secondary-btn,
body.theme-light .dashboard-widget-toolbar-actions .secondary-btn{
  background:#edf4fa!important;
  border-color:#d4e2ed!important;
  color:#294c68!important;
}
body.theme-light .secondary-btn:hover{background:#e4eff7!important}
body.theme-light .primary-btn,
body.theme-light .dashboard-widget-toolbar-actions .primary-btn{
  background:#1689ef!important;
  border-color:#1689ef!important;
  color:#ffffff!important;
  box-shadow:0 8px 18px rgba(22,137,239,.15)!important;
}

/* Dashboard widgets */
body.theme-light .dashboard-widget{
  background:#ffffff!important;
  border-color:#d7e4ee!important;
  color:#173149!important;
  box-shadow:0 8px 25px rgba(35,73,106,.06)!important;
}
body.theme-light .widget-head h2,
body.theme-light .widget-row strong,
body.theme-light .family-row strong{
  color:#18334b!important;
}
body.theme-light .widget-head p,
body.theme-light .widget-row small,
body.theme-light .family-row small,
body.theme-light .widget-empty{
  color:#718596!important;
}
body.theme-light .widget-head>a{color:#087fe4!important}
body.theme-light .widget-icon{
  background:#e8f4ff!important;
  color:#087fe4!important;
}
body.theme-light .widget-row:hover{background:#f0f6fb!important}
body.theme-light .widget-row i{color:#7890a3!important}
body.theme-light .widget-file-icon{background:#e8f3fc!important}
body.theme-light .widget-storage-bar{background:#e3edf4!important}
body.theme-light .widget-storage-bar i{background:#1689ef!important}
body.theme-light .finance-widget-grid>div{
  background:#f7fafc!important;
  border-color:#d9e5ee!important;
}
body.theme-light .finance-widget-grid small{color:#718697!important}
body.theme-light .finance-widget-grid strong{color:#173149!important}
body.theme-light .finance-widget-grid .positive{color:#16975b!important}
body.theme-light .widget-nav-item{
  background:#f8fbfd!important;
  border-color:#d9e5ee!important;
  color:#173149!important;
}
body.theme-light .widget-nav-item:hover{
  background:#edf6fc!important;
  border-color:#8fc4ef!important;
}

/* Dashboard editor controls */
body.theme-light .dashboard-edit-mode .dashboard-widget{
  outline-color:rgba(10,132,255,.45)!important;
}
body.theme-light .widget-drag-handle,
body.theme-light .widget-size-button{
  background:#ffffff!important;
  color:#345671!important;
  border-color:#cfdde8!important;
  box-shadow:0 4px 12px rgba(36,75,110,.08)!important;
}
body.theme-light .widget-drag-handle:hover,
body.theme-light .widget-size-button:hover{
  background:#eaf4fb!important;
  border-color:#68ace5!important;
}
body.theme-light .widget-size-menu{
  background:#ffffff!important;
  border-color:#d2e0ea!important;
  box-shadow:0 12px 30px rgba(31,65,94,.16)!important;
}
body.theme-light .widget-size-menu button{color:#28485f!important}
body.theme-light .widget-size-menu button:hover{background:#eaf4fb!important}
body.theme-light .dashboard-widget-config-row{
  background:#f8fbfd!important;
  border-color:#d9e5ee!important;
  color:#173149!important;
}

/* Files */
body.theme-light .files-toolbar,
body.theme-light .files-card,
body.theme-light .files-table-wrap,
body.theme-light .files-side-card{
  background:#ffffff!important;
  border-color:#d9e5ef!important;
  color:#173149!important;
}
body.theme-light .files-table th{
  background:#f4f8fb!important;
  color:#718596!important;
  border-color:#d9e5ef!important;
}
body.theme-light .files-table td{border-color:#e3ebf1!important}
body.theme-light .files-table tbody tr:hover{background:#f2f7fb!important}

/* Notes */
body.theme-light .notes32-shell,
body.theme-light .notes32-sidebar,
body.theme-light .notes32-list,
body.theme-light .notes32-editor,
body.theme-light .notes32-canvas{
  background:#ffffff!important;
  color:#173149!important;
  border-color:#d9e5ef!important;
}
body.theme-light .notes32-canvas h1,
body.theme-light .notes32-canvas h2,
body.theme-light .notes32-canvas h3{color:#173149!important}
body.theme-light .notes32-canvas pre{
  background:#f3f7fa!important;
  border-color:#d6e2eb!important;
  color:#18354d!important;
}
body.theme-light .notes34-toc{
  background:#f5f9fc!important;
  border-color:#d9e5ef!important;
}
body.theme-light .notes34-toc-head strong{color:#294d68!important}
body.theme-light .notes34-toc-links a{color:#58728a!important}
body.theme-light .notes34-toc-links a:hover{background:#e7f2fa!important;color:#087fdc!important}

/* Tables and management pages */
body.theme-light .user35-table-wrap{border-color:#d9e5ef!important}
body.theme-light .user35-table th{
  background:#f4f8fb!important;
  color:#6e8497!important;
  border-color:#d9e5ef!important;
}
body.theme-light .user35-table td{border-color:#e2ebf1!important;color:#173149!important}
body.theme-light .user35-table tbody tr:hover{background:#f2f7fb!important}
body.theme-light .user35-icon-btn{
  background:#f5f9fc!important;
  border-color:#d5e2eb!important;
}
body.theme-light .user35-security-box,
body.theme-light .user352-avatar-admin{
  background:#f6f9fc!important;
  border-color:#d9e5ef!important;
}

/* Finance */
body.theme-light .finance-dashboard-card,
body.theme-light .finance-dashboard-chart-card,
body.theme-light .finance-dashboard-year-card{
  background:#ffffff!important;
  border-color:#d9e5ef!important;
  color:#173149!important;
}
body.theme-light .finance-donut:after{background:#ffffff!important}
body.theme-light .finance-dashboard-month-table th,
body.theme-light .finance-dashboard-month-table td{
  border-color:#e1eaf1!important;
}

/* Profile/settings dropdown-like blocks and tabs */
body.theme-light .tab-bar,
body.theme-light .settings-tabs{
  background:#eef5fa!important;
  border-color:#d7e3ed!important;
}
body.theme-light .tab-bar a,
body.theme-light .settings-tabs a{color:#526d82!important}
body.theme-light .tab-bar a.active,
body.theme-light .settings-tabs a.active{
  background:#ffffff!important;
  color:#137fdf!important;
}

/* Keep the welcome hero deliberately blue in both themes for brand continuity. */
body.theme-light .hero-card{
  color:#ffffff!important;
}
body.theme-light .hero-card .hero-content p{color:#e0edf7!important}
body.theme-light .hero-status{
  background:rgba(7,75,125,.78)!important;
  color:#ffffff!important;
}
body.theme-light .hero-status span,
body.theme-light .hero-status small{color:#dceaf4!important}

/* Scrollbars */
body.theme-light *{
  scrollbar-color:#b7c9d7 #edf3f7;
}


/* V38.7 – dedicated clean light-theme Swiss logo */
body.theme-light .app-brand-logo-dark{display:none!important}
body.theme-light .app-brand-logo-light{
  display:block!important;
  background:transparent!important;
  filter:none!important;
  opacity:1!important;
}
body.theme-dark .app-brand-logo-light{display:none!important}
body.theme-dark .app-brand-logo-dark{display:block!important}


/* V38.8 – exact user-provided light-theme logo */
body.theme-light .app-brand-logo-dark{display:none!important}
body.theme-light .app-brand-logo-light{
  display:block!important;
  width:405px!important;
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  background:transparent!important;
  filter:none!important;
  opacity:1!important;
}
body.theme-dark .app-brand-logo-light{display:none!important}
body.theme-dark .app-brand-logo-dark{display:block!important}


/* V38.9 – same transparent Swiss logo in Light + Dark Theme */
.app-global-brand .app-brand-logo{
  background:transparent!important;
  filter:none!important;
  opacity:1!important;
}

/* Both DOM logo slots now reference brand-lockup-swiss-light.png.
   Keep only the normal slot visible regardless of selected theme. */
body.theme-light .app-brand-logo-dark,
body.theme-dark .app-brand-logo-dark,
body:not(.theme-light) .app-brand-logo-dark{
  display:block!important;
}
body.theme-light .app-brand-logo-light,
body.theme-dark .app-brand-logo-light,
body:not(.theme-light) .app-brand-logo-light{
  display:none!important;
}


/* V38.10 – dedicated dark + light transparent Swiss logos */
.app-global-brand .app-brand-logo{
  background:transparent!important;
  filter:none!important;
  opacity:1!important;
}
body.theme-dark .app-brand-logo-dark,
body:not(.theme-light) .app-brand-logo-dark{
  display:block!important;
}
body.theme-dark .app-brand-logo-light,
body:not(.theme-light) .app-brand-logo-light{
  display:none!important;
}
body.theme-light .app-brand-logo-dark{
  display:none!important;
}
body.theme-light .app-brand-logo-light{
  display:block!important;
}


/* V38.11 – login screen uses the same dedicated theme logos as the app header */
.login-brand-lockup{
  display:block;
  width:min(100%,560px);
  background:transparent!important;
}
.login-brand-logo{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  background:transparent!important;
  filter:none!important;
  opacity:1!important;
}
.login-brand-logo-light{display:none!important}

body.theme-light .login-brand-logo-dark{display:none!important}
body.theme-light .login-brand-logo-light{display:block!important}

body.theme-dark .login-brand-logo-dark,
body:not(.theme-light) .login-brand-logo-dark{display:block!important}
body.theme-dark .login-brand-logo-light,
body:not(.theme-light) .login-brand-logo-light{display:none!important}


/* V38.12 – pre-login branding: always use the light-theme transparent logo */
.login-brand-logo-fixed{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  background:transparent!important;
  filter:none!important;
  opacity:1!important;
}

/* Ignore any theme-specific login logo switching before authentication. */
.login-brand-logo-dark,
.login-brand-logo-light{
  display:none!important;
}


/* V38.13 – make the full Swiss lockup actually visible on the login screen */
.auth-page .auth-brand.auth-brand-lockup-only{
  display:block!important;
  position:relative;
  z-index:5;
  padding:28px 30px 0!important;
  margin:0!important;
  width:min(100%,620px)!important;
}
.auth-page .auth-brand.auth-brand-lockup-only .login-brand-lockup{
  display:block!important;
  width:100%!important;
  max-width:560px!important;
}
.auth-page .auth-brand.auth-brand-lockup-only .login-brand-logo-fixed{
  display:block!important;
  width:100%!important;
  max-width:560px!important;
  height:auto!important;
  object-fit:contain!important;
  background:transparent!important;
  filter:none!important;
  opacity:1!important;
}

/* Neutralize the old 72px cloud-logo constraint from earlier login branding. */
.auth-page .auth-brand.auth-brand-lockup-only .cloud-logo,
.auth-page .auth-brand.auth-brand-lockup-only .auth-cloud-logo{
  width:auto!important;
  height:auto!important;
}

/* Do not show the obsolete duplicate text next to the new full wordmark. */
.auth-page .auth-brand.auth-brand-lockup-only > div{
  display:none!important;
}

@media(max-width:900px){
  .auth-page .auth-brand.auth-brand-lockup-only{
    padding:22px 22px 0!important;
    width:100%!important;
  }
  .auth-page .auth-brand.auth-brand-lockup-only .login-brand-lockup,
  .auth-page .auth-brand.auth-brand-lockup-only .login-brand-logo-fixed{
    max-width:460px!important;
  }
}


/* V38.14 – login screen deliberately uses the dark-theme Swiss lockup.
   Layout and sizing remain unchanged from V38.13. */
.auth-page .auth-brand.auth-brand-lockup-only .login-brand-logo-fixed{
  display:block!important;
}


/* =========================================================
   V39 – Blue Theme · Family Cloud Blue
   Inspired by the bright blue login-screen identity.
   ========================================================= */

.theme-preview.blue{
  background:
    radial-gradient(circle at 78% 12%,rgba(139,211,255,.40) 0 18%,transparent 18.5%),
    linear-gradient(135deg,#0864ba 0%,#0b88ef 55%,#44adff 100%)!important;
}

/* Core palette */
body.theme-blue{
  --blue:#ffffff;
  --blue2:#dff3ff;
  --blue3:#0a5ca7;
  --navy:#ffffff;
  --text:#f7fbff;
  --muted:#c7e3f8;
  --line:rgba(213,239,255,.20);
  --bg:#0877d5;
  --panel:rgba(7,91,158,.72);
  --panel-bg:#0871c9;
  --shadow:0 18px 48px rgba(0,59,113,.24);

  --v38-bg:#0877d5;
  --v38-sidebar:#086abf;
  --v38-panel:rgba(5,76,133,.72);
  --v38-panel2:rgba(7,95,165,.78);
  --v38-line:rgba(211,239,255,.22);
  --v38-text:#f7fbff;
  --v38-muted:#c2def3;
  --v38-blue:#ffffff;
  color:#f7fbff!important;
  background:#0877d5!important;
}

/* Seamless application shell */
body.theme-blue.cloud-body,
body.theme-blue.settings-body,
body.theme-blue.module-body,
body.theme-blue .cloud-shell,
body.theme-blue .sidebar,
body.theme-blue .app-global-header,
body.theme-blue .content,
body.theme-blue .persistent-nav-content{
  background:
    radial-gradient(circle at 78% -6%,rgba(120,203,255,.24),transparent 28%),
    linear-gradient(135deg,#075ca8 0%,#087acf 48%,#1698ed 100%)!important;
  color:#f7fbff!important;
}

body.theme-blue .sidebar{
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
body.theme-blue .app-global-header{
  border:0!important;
  box-shadow:none!important;
}

/* Blue Theme uses the bright/dark-theme logo artwork. */
body.theme-blue .app-brand-logo-dark{display:block!important}
body.theme-blue .app-brand-logo-light{display:none!important}

/* Header controls */
body.theme-blue .app-global-search{
  background:rgba(3,62,112,.30)!important;
  border-color:rgba(218,242,255,.25)!important;
  box-shadow:0 8px 22px rgba(0,59,112,.12)!important;
}
body.theme-blue .app-global-search-icon{stroke:#e8f7ff!important}
body.theme-blue .app-global-search input{color:#ffffff!important}
body.theme-blue .app-global-search input::placeholder{color:#d0e8f7!important}

body.theme-blue .app-global-bell,
body.theme-blue .app-global-profile summary,
body.theme-blue .profile-menu summary{
  background:rgba(3,62,112,.30)!important;
  border-color:rgba(218,242,255,.22)!important;
  color:#ffffff!important;
  box-shadow:0 8px 22px rgba(0,59,112,.12)!important;
}
body.theme-blue .profile-popover{
  background:#07528f!important;
  color:#ffffff!important;
  border-color:rgba(219,241,255,.24)!important;
  box-shadow:0 22px 56px rgba(0,45,87,.32)!important;
}
body.theme-blue .profile-popover a{color:#eef9ff!important}
body.theme-blue .profile-popover a:hover{background:rgba(255,255,255,.10)!important}
body.theme-blue .profile-popover hr{border-color:rgba(255,255,255,.16)!important}
body.theme-blue .profile-card-head small{color:#c7e3f5!important}

/* Navigation */
body.theme-blue .side-nav a{
  color:#e5f4fe!important;
}
body.theme-blue .side-nav a:hover{
  background:rgba(255,255,255,.10)!important;
  color:#ffffff!important;
}
body.theme-blue .side-nav a.active{
  background:rgba(255,255,255,.18)!important;
  color:#ffffff!important;
  box-shadow:0 8px 18px rgba(0,54,104,.13)!important;
  border:1px solid rgba(255,255,255,.10)!important;
}
body.theme-blue .side-nav .nav-img{
  filter:brightness(1.18) saturate(.88)!important;
}
body.theme-blue .side-nav em,
body.theme-blue .nav-section,
body.theme-blue .nav-section-favorites{
  color:#b8daf0!important;
}
body.theme-blue .nav-favorite-star{color:#ffe071!important}
body.theme-blue .side-nav b{
  background:#ffffff!important;
  color:#0873c8!important;
}

/* Hero gets a brighter login-like blue */
body.theme-blue .hero-card{
  background:
    radial-gradient(circle at 78% 6%,rgba(176,224,255,.34) 0 14%,transparent 14.5%),
    radial-gradient(circle at 61% 115%,rgba(171,224,255,.25) 0 12%,transparent 12.5%),
    linear-gradient(135deg,#0765b7 0%,#0b8bea 54%,#48b2ff 100%)!important;
  border-color:rgba(224,245,255,.20)!important;
  box-shadow:0 20px 45px rgba(0,68,128,.18)!important;
}
body.theme-blue .hero-content .eyebrow{color:#dbf3ff!important}
body.theme-blue .hero-card .hero-content h1{color:#ffffff!important}
body.theme-blue .hero-card .hero-content p{color:#e9f7ff!important}
body.theme-blue .hero-status{
  background:rgba(3,77,136,.45)!important;
  border-color:rgba(226,245,255,.20)!important;
  color:#ffffff!important;
}
body.theme-blue .hero-status span,
body.theme-blue .hero-status small{color:#d7effc!important}

/* Cards, modules, panels and modals */
body.theme-blue .glass-panel,
body.theme-blue .module-card,
body.theme-blue .module-panel,
body.theme-blue .settings-card,
body.theme-blue .dashboard-widget,
body.theme-blue .user35-list-card,
body.theme-blue .modal-card,
body.theme-blue .card,
body.theme-blue .panel,
body.theme-blue .files-card,
body.theme-blue .files-side-card{
  background:rgba(5,69,122,.58)!important;
  border-color:rgba(220,243,255,.20)!important;
  color:#f7fbff!important;
  box-shadow:0 12px 34px rgba(0,52,100,.14)!important;
  backdrop-filter:blur(14px);
}
body.theme-blue .modal-backdrop{background:rgba(0,40,76,.48)!important}

body.theme-blue .module-topbar h1,
body.theme-blue .module-topbar h2,
body.theme-blue .module-main h1,
body.theme-blue .module-main h2,
body.theme-blue .module-main h3,
body.theme-blue .module-main h4,
body.theme-blue .settings-card h3{
  color:#ffffff!important;
}
body.theme-blue .module-topbar p,
body.theme-blue .module-main small,
body.theme-blue .module-main .muted,
body.theme-blue .admin-permission-hint{
  color:#c8e2f4!important;
}

/* Forms */
body.theme-blue input:not([type="checkbox"]):not([type="radio"]),
body.theme-blue select,
body.theme-blue textarea,
body.theme-blue [contenteditable="true"]{
  background:rgba(4,65,115,.46)!important;
  color:#ffffff!important;
  border-color:rgba(220,243,255,.24)!important;
}
body.theme-blue input::placeholder,
body.theme-blue textarea::placeholder{color:#c3dff2!important}
body.theme-blue input:focus,
body.theme-blue select:focus,
body.theme-blue textarea:focus{
  border-color:#bde8ff!important;
  box-shadow:0 0 0 3px rgba(224,246,255,.14)!important;
}
body.theme-blue option{
  background:#075898!important;
  color:#ffffff!important;
}

/* Buttons */
body.theme-blue .secondary-btn,
body.theme-blue .dashboard-widget-toolbar-actions .secondary-btn{
  background:rgba(3,58,105,.34)!important;
  border-color:rgba(220,243,255,.22)!important;
  color:#f2fbff!important;
}
body.theme-blue .secondary-btn:hover{
  background:rgba(255,255,255,.13)!important;
}
body.theme-blue .primary-btn,
body.theme-blue .dashboard-widget-toolbar-actions .primary-btn{
  background:#ffffff!important;
  border-color:#ffffff!important;
  color:#0874c9!important;
  box-shadow:0 9px 22px rgba(0,61,116,.18)!important;
}
body.theme-blue .primary-btn:hover{
  background:#eaf8ff!important;
}

/* Widgets */
body.theme-blue .widget-head h2,
body.theme-blue .widget-row strong,
body.theme-blue .family-row strong{
  color:#ffffff!important;
}
body.theme-blue .widget-head p,
body.theme-blue .widget-row small,
body.theme-blue .family-row small,
body.theme-blue .widget-empty{
  color:#c7e3f5!important;
}
body.theme-blue .widget-head>a{color:#e8f7ff!important}
body.theme-blue .widget-icon{
  background:rgba(255,255,255,.14)!important;
  color:#ffffff!important;
}
body.theme-blue .widget-row:hover{background:rgba(255,255,255,.09)!important}
body.theme-blue .widget-row i{color:#c0def1!important}
body.theme-blue .widget-file-icon{background:rgba(255,255,255,.11)!important}
body.theme-blue .widget-storage-bar{background:rgba(0,53,99,.28)!important}
body.theme-blue .widget-storage-bar i{background:#dff5ff!important}
body.theme-blue .finance-widget-grid>div{
  background:rgba(3,58,105,.28)!important;
  border-color:rgba(221,243,255,.18)!important;
}
body.theme-blue .finance-widget-grid small{color:#c8e3f4!important}
body.theme-blue .finance-widget-grid strong{color:#ffffff!important}
body.theme-blue .finance-widget-grid .positive{color:#8df0c1!important}
body.theme-blue .finance-widget-grid .negative{color:#ffd0d3!important}
body.theme-blue .widget-nav-item{
  background:rgba(3,59,106,.26)!important;
  border-color:rgba(222,244,255,.18)!important;
  color:#ffffff!important;
}
body.theme-blue .widget-nav-item:hover{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.31)!important;
}

/* Widget editor */
body.theme-blue .dashboard-edit-mode .dashboard-widget{
  outline-color:rgba(235,249,255,.65)!important;
}
body.theme-blue .widget-drag-handle,
body.theme-blue .widget-size-button{
  background:#07548f!important;
  color:#ffffff!important;
  border-color:rgba(223,244,255,.26)!important;
}
body.theme-blue .widget-size-menu{
  background:#07548f!important;
  border-color:rgba(222,244,255,.24)!important;
  box-shadow:0 15px 35px rgba(0,42,80,.28)!important;
}
body.theme-blue .widget-size-menu button{color:#ffffff!important}
body.theme-blue .widget-size-menu button:hover{background:rgba(255,255,255,.11)!important}
body.theme-blue .dashboard-widget-config-row{
  background:rgba(3,59,106,.30)!important;
  border-color:rgba(222,244,255,.20)!important;
  color:#ffffff!important;
}

/* Family online markers */
body.theme-blue .online-dot{background:#79f2bd!important}

/* Files / tables */
body.theme-blue .files-toolbar,
body.theme-blue .files-table-wrap{
  background:rgba(4,65,115,.48)!important;
  border-color:rgba(220,243,255,.20)!important;
  color:#ffffff!important;
}
body.theme-blue .files-table th,
body.theme-blue .user35-table th{
  background:rgba(3,56,101,.38)!important;
  color:#c6e2f4!important;
  border-color:rgba(220,243,255,.16)!important;
}
body.theme-blue .files-table td,
body.theme-blue .user35-table td{
  border-color:rgba(220,243,255,.12)!important;
  color:#f5fbff!important;
}
body.theme-blue .files-table tbody tr:hover,
body.theme-blue .user35-table tbody tr:hover{
  background:rgba(255,255,255,.07)!important;
}
body.theme-blue .user35-table-wrap{border-color:rgba(220,243,255,.20)!important}
body.theme-blue .user35-icon-btn{
  background:rgba(3,57,102,.36)!important;
  border-color:rgba(220,243,255,.22)!important;
}
body.theme-blue .user35-security-box,
body.theme-blue .user352-avatar-admin{
  background:rgba(3,59,106,.25)!important;
  border-color:rgba(220,243,255,.19)!important;
}

/* Notes */
body.theme-blue .notes32-shell,
body.theme-blue .notes32-sidebar,
body.theme-blue .notes32-list,
body.theme-blue .notes32-editor,
body.theme-blue .notes32-canvas{
  background:rgba(4,65,115,.42)!important;
  color:#ffffff!important;
  border-color:rgba(220,243,255,.18)!important;
}
body.theme-blue .notes32-canvas h1,
body.theme-blue .notes32-canvas h2,
body.theme-blue .notes32-canvas h3{color:#ffffff!important}
body.theme-blue .notes32-canvas pre{
  background:rgba(0,43,82,.42)!important;
  border-color:rgba(222,244,255,.20)!important;
  color:#ecf9ff!important;
}
body.theme-blue .notes34-toc{
  background:rgba(3,59,106,.30)!important;
  border-color:rgba(222,244,255,.18)!important;
}
body.theme-blue .notes34-toc-head strong{color:#ffffff!important}
body.theme-blue .notes34-toc-links a{color:#d7edfb!important}
body.theme-blue .notes34-toc-links a:hover{
  background:rgba(255,255,255,.09)!important;
  color:#ffffff!important;
}

/* Finance */
body.theme-blue .finance-dashboard-card,
body.theme-blue .finance-dashboard-chart-card,
body.theme-blue .finance-dashboard-year-card{
  background:rgba(5,69,122,.54)!important;
  border-color:rgba(220,243,255,.18)!important;
  color:#ffffff!important;
}
body.theme-blue .finance-donut:after{
  background:#0870c4!important;
}
body.theme-blue .finance-dashboard-month-table th,
body.theme-blue .finance-dashboard-month-table td{
  border-color:rgba(220,243,255,.13)!important;
}

/* Settings / tabs */
body.theme-blue .settings-sidebar{
  color:#f7fbff!important;
}
body.theme-blue .settings-sidebar a{color:#d8ecf9!important}
body.theme-blue .settings-sidebar a.active{color:#ffffff!important}
body.theme-blue .appearance-choice{
  background:rgba(4,65,115,.34)!important;
  border-color:rgba(220,243,255,.20)!important;
  color:#ffffff!important;
}
body.theme-blue .appearance-choice.selected{
  border-color:#e1f6ff!important;
  box-shadow:0 0 0 3px rgba(230,248,255,.14)!important;
}
body.theme-blue .appearance-choice small{color:#c5e0f3!important}
body.theme-blue .future-setting{
  background:rgba(3,59,106,.28)!important;
  border-color:rgba(220,243,255,.18)!important;
}
body.theme-blue .future-setting small{color:#c5e0f3!important}
body.theme-blue .pill{
  background:rgba(255,255,255,.14)!important;
  color:#ffffff!important;
}
body.theme-blue .tab-bar,
body.theme-blue .settings-tabs{
  background:rgba(3,58,105,.27)!important;
  border-color:rgba(220,243,255,.18)!important;
}
body.theme-blue .tab-bar a,
body.theme-blue .settings-tabs a{color:#d2eafa!important}
body.theme-blue .tab-bar a.active,
body.theme-blue .settings-tabs a.active{
  background:rgba(255,255,255,.15)!important;
  color:#ffffff!important;
}

/* Toasts / semantic states retain meaning but fit blue shell */
body.theme-blue .toast.success{background:rgba(45,196,130,.20)!important;color:#d6ffeb!important}
body.theme-blue .toast.error{background:rgba(255,87,99,.20)!important;color:#ffe2e4!important}

/* Scrollbars */
body.theme-blue *{
  scrollbar-color:rgba(220,243,255,.42) rgba(0,48,91,.20);
}


/* =========================================================
   V39.1 – Blue Theme: seamless header / navigation / content
   Remove visual seams between the three main shell areas.
   ========================================================= */
body.theme-blue,
body.theme-blue.cloud-body,
body.theme-blue.settings-body,
body.theme-blue.module-body{
  background:#0877d5!important;
}

/* One continuous background surface for header, sidebar and content. */
body.theme-blue .cloud-shell,
body.theme-blue .app-global-header,
body.theme-blue .sidebar,
body.theme-blue .content,
body.theme-blue .persistent-nav-content{
  background:#0877d5!important;
  background-image:none!important;
  border:0!important;
  border-right:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}

/* Some older layout rules draw the separators with pseudo elements. */
body.theme-blue .app-global-header::before,
body.theme-blue .app-global-header::after,
body.theme-blue .sidebar::before,
body.theme-blue .sidebar::after,
body.theme-blue .content::before,
body.theme-blue .content::after{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}

/* Keep the actual content cards distinct, but not the application shell. */
body.theme-blue .app-global-header{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.theme-blue .sidebar{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}






/* V39.5 – Blue theme navigation icons
   Settings + Logout use the same light tile / blue glyph language as Cards and Vehicles. */
body.theme-blue .side-nav a[href="/settings.php"] .nav-img,
body.theme-blue .side-nav a[href="/logout.php"] .nav-img{
  filter:none!important;
  background:transparent!important;
  box-shadow:0 3px 10px rgba(24,99,171,.08)!important;
}
body.theme-blue .side-nav a[href="/settings.php"] .nav-img svg,
body.theme-blue .side-nav a[href="/logout.php"] .nav-img svg{
  filter:none!important;
}


/* =========================================================
   V39.7 – Light Theme refinement
   Adds depth, subtle separation and soft gradients while
   keeping the overall clean / bright Family Cloud aesthetic.
   ========================================================= */

body.theme-light,
body.theme-light.cloud-body,
body.theme-light.settings-body,
body.theme-light.module-body{
  background:
    radial-gradient(circle at 80% -10%,rgba(82,167,255,.10),transparent 34%),
    linear-gradient(180deg,#eef5fb 0%,#f5f9fd 52%,#edf4fa 100%)!important;
}

/* One coherent shell, but no longer flat white */
body.theme-light .cloud-shell{
  background:transparent!important;
}
body.theme-light .app-global-header{
  background:rgba(244,249,253,.90)!important;
  border-bottom:1px solid rgba(60,116,166,.10)!important;
  box-shadow:0 7px 24px rgba(43,91,132,.06)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}
body.theme-light .sidebar{
  background:
    linear-gradient(180deg,rgba(242,248,253,.96) 0%,rgba(236,245,251,.96) 100%)!important;
  border-right:1px solid rgba(58,112,160,.09)!important;
  box-shadow:8px 0 28px rgba(48,91,128,.045)!important;
}
body.theme-light .content,
body.theme-light .persistent-nav-content{
  background:
    radial-gradient(circle at 74% 0%,rgba(89,172,255,.08),transparent 26%),
    linear-gradient(180deg,#f3f8fc 0%,#eef5fa 100%)!important;
}

/* Header controls gain a little structure */
body.theme-light .app-global-search{
  background:rgba(255,255,255,.92)!important;
  border-color:rgba(46,104,158,.14)!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.90) inset,
    0 8px 22px rgba(47,91,130,.07)!important;
}
body.theme-light .app-global-bell,
body.theme-light .app-global-profile summary{
  background:linear-gradient(180deg,#ffffff,#f4f8fb)!important;
  border-color:rgba(46,104,158,.12)!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 7px 18px rgba(47,91,130,.07)!important;
}

/* Navigation */
body.theme-light .side-nav a{
  color:#38546f!important;
  transition:background .16s ease,box-shadow .16s ease,transform .16s ease;
}
body.theme-light .side-nav a:hover{
  background:linear-gradient(90deg,rgba(255,255,255,.88),rgba(236,246,255,.94))!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 5px 14px rgba(44,94,137,.06)!important;
}
body.theme-light .side-nav a.active{
  background:linear-gradient(90deg,#1688ed 0%,#4ca9fa 100%)!important;
  color:#fff!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.23) inset,
    0 9px 20px rgba(16,118,207,.19)!important;
}
body.theme-light .nav-favorites .favorite-nav-item{
  background:
    linear-gradient(90deg,rgba(255,255,255,.78),rgba(249,247,241,.88))!important;
  border:1px solid rgba(205,183,112,.16)!important;
  box-shadow:0 4px 12px rgba(90,92,77,.035)!important;
}
body.theme-light .nav-favorites .favorite-nav-item:hover{
  background:
    linear-gradient(90deg,#ffffff,#f4f8fb)!important;
  box-shadow:0 7px 17px rgba(47,91,130,.08)!important;
}
body.theme-light .nav-section{
  color:#7e96ab!important;
}

/* Hero keeps contrast but gets a touch more polish */
body.theme-light .hero-card{
  background:
    radial-gradient(circle at 78% 6%,rgba(100,180,246,.28) 0 14%,transparent 14.5%),
    radial-gradient(circle at 61% 115%,rgba(100,180,246,.17) 0 12%,transparent 12.5%),
    linear-gradient(135deg,#0a3d67 0%,#0d5e98 54%,#168bd7 100%)!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.16) inset,
    0 18px 38px rgba(23,73,112,.15)!important;
}
body.theme-light .hero-status{
  background:rgba(5,55,93,.28)!important;
  border-color:rgba(255,255,255,.16)!important;
  box-shadow:0 8px 22px rgba(7,45,76,.10)!important;
}

/* Dashboard cards/widgets */
body.theme-light .glass-panel,
body.theme-light .dashboard-widget,
body.theme-light .module-card,
body.theme-light .settings-card,
body.theme-light .user35-list-card,
body.theme-light .files-card,
body.theme-light .files-side-card,
body.theme-light .finance-dashboard-card,
body.theme-light .finance-dashboard-chart-card,
body.theme-light .finance-dashboard-year-card{
  background:
    linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(249,252,255,.96) 100%)!important;
  border-color:rgba(58,112,160,.12)!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.96) inset,
    0 9px 24px rgba(43,91,132,.065)!important;
}

/* Slightly stronger hover, without becoming "cardy" everywhere */
body.theme-light .dashboard-widget:hover,
body.theme-light .module-card:hover{
  box-shadow:
    0 1px 0 rgba(255,255,255,.96) inset,
    0 12px 28px rgba(43,91,132,.085)!important;
}

/* Secondary mini-cards inside widgets */
body.theme-light .finance-widget-grid>div,
body.theme-light .widget-nav-item,
body.theme-light .dashboard-widget-config-row,
body.theme-light .user35-security-box,
body.theme-light .user352-avatar-admin{
  background:linear-gradient(180deg,#f8fbfe,#f1f7fb)!important;
  border-color:rgba(58,112,160,.11)!important;
  box-shadow:0 2px 7px rgba(43,91,132,.035)!important;
}

/* Files/tables receive subtle panel separation */
body.theme-light .files-toolbar,
body.theme-light .files-table-wrap,
body.theme-light .user35-table-wrap{
  background:linear-gradient(180deg,#ffffff,#f8fbfd)!important;
  border-color:rgba(58,112,160,.11)!important;
  box-shadow:0 6px 18px rgba(43,91,132,.045)!important;
}
body.theme-light .files-table th,
body.theme-light .user35-table th{
  background:linear-gradient(180deg,#f4f8fb,#edf4f9)!important;
  border-color:rgba(58,112,160,.10)!important;
}

/* Forms */
body.theme-light input:not([type="checkbox"]):not([type="radio"]),
body.theme-light select,
body.theme-light textarea{
  background:linear-gradient(180deg,#ffffff,#fbfdff)!important;
  border-color:rgba(58,112,160,.14)!important;
  box-shadow:0 1px 2px rgba(43,91,132,.03) inset!important;
}
body.theme-light input:focus,
body.theme-light select:focus,
body.theme-light textarea:focus{
  border-color:#79bdf4!important;
  box-shadow:0 0 0 3px rgba(45,140,255,.10)!important;
}

/* Settings sidebar and cards */
body.theme-light .settings-sidebar{
  background:linear-gradient(180deg,rgba(248,251,254,.83),rgba(239,246,251,.83))!important;
  border:1px solid rgba(58,112,160,.08)!important;
  box-shadow:0 8px 20px rgba(43,91,132,.045)!important;
}
body.theme-light .appearance-choice{
  background:linear-gradient(180deg,#ffffff,#f6fafe)!important;
  border-color:rgba(58,112,160,.11)!important;
  box-shadow:0 4px 12px rgba(43,91,132,.035)!important;
}

/* Small buttons */
body.theme-light .secondary-btn{
  background:linear-gradient(180deg,#ffffff,#eff6fb)!important;
  border-color:rgba(58,112,160,.13)!important;
  box-shadow:0 4px 12px rgba(43,91,132,.05)!important;
}
body.theme-light .secondary-btn:hover{
  background:linear-gradient(180deg,#ffffff,#eaf3f9)!important;
}


/* =========================================================
   V39.8 – Light Theme refinement, stronger depth
   Important: header stays completely line-free at the bottom.
   ========================================================= */

body.theme-light,
body.theme-light.cloud-body,
body.theme-light.settings-body,
body.theme-light.module-body{
  background:
    radial-gradient(circle at 84% -8%,rgba(75,164,255,.14),transparent 32%),
    radial-gradient(circle at 12% 10%,rgba(155,210,255,.10),transparent 28%),
    linear-gradient(180deg,#eaf3fa 0%,#f4f8fc 48%,#eaf2f8 100%)!important;
}

/* Header: more presence, but absolutely NO bottom line/border. */
body.theme-light .app-global-header{
  background:
    linear-gradient(180deg,rgba(249,252,255,.97),rgba(241,247,252,.95))!important;
  border:0!important;
  border-bottom:0!important;
  outline:0!important;
  box-shadow:0 9px 28px rgba(43,91,132,.075)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}
body.theme-light .app-global-header::before,
body.theme-light .app-global-header::after{
  content:none!important;
  display:none!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Sidebar gets a little more depth and definition */
body.theme-light .sidebar{
  background:
    linear-gradient(180deg,#edf6fc 0%,#e7f1f8 100%)!important;
  border-right:1px solid rgba(58,112,160,.13)!important;
  box-shadow:10px 0 30px rgba(48,91,128,.065)!important;
}

/* Main content slightly cooler so cards separate better */
body.theme-light .content,
body.theme-light .persistent-nav-content{
  background:
    radial-gradient(circle at 74% 0%,rgba(89,172,255,.10),transparent 28%),
    linear-gradient(180deg,#f1f7fb 0%,#eaf2f8 100%)!important;
}

/* Navigation items: more visible layering */
body.theme-light .side-nav a{
  border:1px solid transparent!important;
}
body.theme-light .side-nav a:hover{
  background:
    linear-gradient(90deg,#ffffff 0%,#edf7ff 100%)!important;
  border-color:rgba(66,127,181,.10)!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.94) inset,
    0 7px 16px rgba(45,92,133,.075)!important;
}
body.theme-light .side-nav a.active{
  background:
    linear-gradient(90deg,#147edc 0%,#45aaf9 100%)!important;
  border-color:rgba(13,113,201,.20)!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.25) inset,
    0 10px 24px rgba(15,113,199,.22)!important;
}
body.theme-light .nav-favorites .favorite-nav-item{
  background:
    linear-gradient(90deg,#ffffff 0%,#f4f6f1 100%)!important;
  border-color:rgba(185,163,91,.19)!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 5px 14px rgba(82,88,74,.05)!important;
}
body.theme-light .nav-favorites .favorite-nav-item:hover{
  background:linear-gradient(90deg,#ffffff,#eef6fc)!important;
  border-color:rgba(66,127,181,.13)!important;
  box-shadow:0 8px 18px rgba(43,91,132,.09)!important;
}

/* More obvious but still soft card hierarchy */
body.theme-light .glass-panel,
body.theme-light .dashboard-widget,
body.theme-light .module-card,
body.theme-light .settings-card,
body.theme-light .user35-list-card,
body.theme-light .files-card,
body.theme-light .files-side-card,
body.theme-light .finance-dashboard-card,
body.theme-light .finance-dashboard-chart-card,
body.theme-light .finance-dashboard-year-card{
  background:
    linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%)!important;
  border-color:rgba(53,110,160,.15)!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.98) inset,
    0 11px 30px rgba(43,91,132,.085)!important;
}

/* Stronger separation for inner widget surfaces */
body.theme-light .finance-widget-grid>div,
body.theme-light .widget-nav-item,
body.theme-light .dashboard-widget-config-row,
body.theme-light .user35-security-box,
body.theme-light .user352-avatar-admin{
  background:
    linear-gradient(180deg,#f7fbfe,#edf5fa)!important;
  border-color:rgba(53,110,160,.13)!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 4px 10px rgba(43,91,132,.045)!important;
}

/* Files/tables a little more layered */
body.theme-light .files-toolbar,
body.theme-light .files-table-wrap,
body.theme-light .user35-table-wrap{
  background:linear-gradient(180deg,#ffffff,#f4f9fc)!important;
  border-color:rgba(53,110,160,.14)!important;
  box-shadow:0 8px 22px rgba(43,91,132,.065)!important;
}
body.theme-light .files-table th,
body.theme-light .user35-table th{
  background:linear-gradient(180deg,#f1f7fb,#e7f1f7)!important;
}

/* Header controls stand out a bit more */
body.theme-light .app-global-search{
  background:linear-gradient(180deg,#ffffff,#f8fbfe)!important;
  border-color:rgba(46,104,158,.16)!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.96) inset,
    0 8px 22px rgba(47,91,130,.085)!important;
}
body.theme-light .app-global-bell,
body.theme-light .app-global-profile summary{
  background:linear-gradient(180deg,#ffffff,#edf5fa)!important;
  border-color:rgba(46,104,158,.14)!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 8px 20px rgba(47,91,130,.085)!important;
}

/* Slightly richer settings surface */
body.theme-light .settings-sidebar{
  background:linear-gradient(180deg,#f7fbfe,#eaf3f8)!important;
  border-color:rgba(58,112,160,.11)!important;
  box-shadow:0 10px 24px rgba(43,91,132,.065)!important;
}
body.theme-light .appearance-choice{
  background:linear-gradient(180deg,#ffffff,#f1f7fb)!important;
  border-color:rgba(58,112,160,.14)!important;
  box-shadow:0 5px 14px rgba(43,91,132,.055)!important;
}

/* Buttons gain just a little more tactile depth */
body.theme-light .secondary-btn{
  background:linear-gradient(180deg,#ffffff,#eaf3f8)!important;
  border-color:rgba(58,112,160,.15)!important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 5px 14px rgba(43,91,132,.065)!important;
}


/* =========================================================
   V39.9 – Light Theme: white seamless application shell
   Keep refined navigation items, but restore pure white page
   and remove the visual divider at the right of navigation.
   ========================================================= */
body.theme-light,
body.theme-light.cloud-body,
body.theme-light.settings-body,
body.theme-light.module-body,
body.theme-light .cloud-shell,
body.theme-light .app-global-header,
body.theme-light .sidebar,
body.theme-light .content,
body.theme-light .persistent-nav-content{
  background:#fff!important;
  background-image:none!important;
}

/* No lines between header / navigation / content. */
body.theme-light .app-global-header,
body.theme-light .sidebar,
body.theme-light .content,
body.theme-light .persistent-nav-content{
  border:0!important;
  border-right:0!important;
  border-bottom:0!important;
  outline:0!important;
}

/* Specifically remove the sidebar/content separator shadow. */
body.theme-light .sidebar{
  box-shadow:none!important;
}

/* Header stays line-free; retain only a very soft depth shadow. */
body.theme-light .app-global-header{
  box-shadow:0 8px 26px rgba(43,91,132,.055)!important;
}
body.theme-light .app-global-header::before,
body.theme-light .app-global-header::after,
body.theme-light .sidebar::before,
body.theme-light .sidebar::after{
  content:none!important;
  display:none!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}


/* =========================================================
   V39.10 – Dark Theme: subtly warmer/golden Favorites
   Intentionally minimal: only the favorites area/items.
   ========================================================= */
body.theme-dark .nav-section-favorites,
body.theme-dark .nav-favorites .nav-section{
  color:#d8c78f!important;
}
body.theme-dark .nav-favorite-star{
  color:#e5c45f!important;
}
body.theme-dark .nav-favorites .favorite-nav-item{
  background:linear-gradient(90deg,rgba(181,145,48,.105),rgba(119,96,36,.055))!important;
  border-color:rgba(222,187,91,.17)!important;
  box-shadow:0 4px 13px rgba(75,56,10,.075)!important;
}
body.theme-dark .nav-favorites .favorite-nav-item:hover{
  background:linear-gradient(90deg,rgba(196,157,52,.15),rgba(125,100,35,.075))!important;
  border-color:rgba(230,195,99,.22)!important;
}


/* V39.11 – Dark Theme: selected favorite slightly more golden */
body.theme-dark .nav-favorites .favorite-nav-item.active,
body.theme-dark .nav-favorites a.favorite-nav-item.active{
  background:linear-gradient(90deg,rgba(211,169,54,.24),rgba(148,116,34,.14))!important;
  border-color:rgba(239,202,99,.32)!important;
  box-shadow:
    0 1px 0 rgba(255,229,157,.07) inset,
    0 7px 17px rgba(87,63,8,.12)!important;
  color:#fff8df!important;
}
body.theme-dark .nav-favorites .favorite-nav-item.active .nav-img{
  filter:brightness(1.08) saturate(1.05)!important;
}


/* =========================================================
   V39.12 – Dark Theme: slightly lighter base
   Test variant: lifts the dark navy shell without turning it
   into a blue theme. Golden Favorites remain unchanged.
   ========================================================= */
body.theme-dark,
body.theme-dark.cloud-body,
body.theme-dark.settings-body,
body.theme-dark.module-body{
  --v38-bg:#101f30;
  --v38-sidebar:#101f30;
  background:#101f30!important;
}

body.theme-dark .cloud-shell,
body.theme-dark .app-global-header,
body.theme-dark .sidebar,
body.theme-dark .content,
body.theme-dark .persistent-nav-content{
  background:
    radial-gradient(circle at 78% -10%,rgba(49,104,151,.10),transparent 31%),
    linear-gradient(180deg,#13283b 0%,#101f30 58%,#0f1d2d 100%)!important;
}

/* Keep the shell seamless – no divider lines. */
body.theme-dark .app-global-header,
body.theme-dark .sidebar,
body.theme-dark .content,
body.theme-dark .persistent-nav-content{
  border:0!important;
  border-right:0!important;
  border-bottom:0!important;
}
body.theme-dark .sidebar{
  box-shadow:none!important;
}
body.theme-dark .app-global-header{
  box-shadow:none!important;
}

/* Lift panels only a touch so their hierarchy stays intact. */
body.theme-dark .dashboard-widget,
body.theme-dark .glass-panel,
body.theme-dark .module-card,
body.theme-dark .settings-card,
body.theme-dark .files-card,
body.theme-dark .files-side-card{
  background:linear-gradient(180deg,rgba(24,46,66,.96),rgba(20,40,59,.96))!important;
  border-color:rgba(135,181,218,.10)!important;
}


/* =========================================================
   V39.13 – Dark Theme: balanced darker + fully seamless shell
   Header, sidebar and page background use exactly the same
   base color. No header-specific gradient or divider.
   ========================================================= */
body.theme-dark,
body.theme-dark.cloud-body,
body.theme-dark.settings-body,
body.theme-dark.module-body{
  --v39-dark-shell:#0d1b2a;
  --v38-bg:#0d1b2a;
  --v38-sidebar:#0d1b2a;
  background:#0d1b2a!important;
  background-image:none!important;
}

body.theme-dark .cloud-shell,
body.theme-dark .app-global-header,
body.theme-dark .sidebar,
body.theme-dark .content,
body.theme-dark .persistent-nav-content{
  background:#0d1b2a!important;
  background-image:none!important;
}

/* Absolutely seamless shell */
body.theme-dark .app-global-header,
body.theme-dark .sidebar,
body.theme-dark .content,
body.theme-dark .persistent-nav-content{
  border:0!important;
  border-right:0!important;
  border-bottom:0!important;
  outline:0!important;
  box-shadow:none!important;
}

body.theme-dark .app-global-header::before,
body.theme-dark .app-global-header::after,
body.theme-dark .sidebar::before,
body.theme-dark .sidebar::after{
  content:none!important;
  display:none!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Cards stay slightly lifted from the now darker shell */
body.theme-dark .dashboard-widget,
body.theme-dark .glass-panel,
body.theme-dark .module-card,
body.theme-dark .settings-card,
body.theme-dark .files-card,
body.theme-dark .files-side-card{
  background:linear-gradient(180deg,rgba(22,43,62,.97),rgba(18,36,53,.97))!important;
  border-color:rgba(135,181,218,.09)!important;
}


/* =========================================================
   V40 – Passkeys / WebAuthn
   ========================================================= */
.auth-method-divider{
  display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted,#718096);
  font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700
}
.auth-method-divider::before,.auth-method-divider::after{
  content:"";height:1px;flex:1;background:rgba(120,140,160,.20)
}
.auth-passkey-btn{
  width:100%;display:flex;align-items:center;justify-content:center;gap:12px;
  min-height:54px;padding:10px 16px;border-radius:14px;
  border:1px solid rgba(30,125,210,.20);background:linear-gradient(180deg,#fff,#eef7fd);
  color:#0c4d85;cursor:pointer;font:inherit;box-shadow:0 5px 16px rgba(35,88,130,.07)
}
.auth-passkey-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(35,88,130,.10)}
.auth-passkey-btn:disabled{opacity:.58;cursor:wait;transform:none}
.auth-passkey-btn .passkey-symbol{
  width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  color:#fff;background:linear-gradient(135deg,#5ab6ff,#137fdc);font-size:21px;font-weight:800
}
.auth-passkey-btn>span:last-child{display:flex;flex-direction:column;text-align:left;line-height:1.25}
.auth-passkey-btn small{font-size:.78rem;color:#6d8397;margin-top:2px;font-weight:500}
.auth-passkey-status,.passkey-status{
  margin-top:12px;padding:10px 12px;border-radius:11px;background:rgba(20,130,220,.09);
  color:#176cae;font-size:13px;font-weight:650
}
.auth-passkey-status.bad,.passkey-status.bad{background:rgba(210,50,65,.10);color:#b63143}
.passkey-status.good{background:rgba(23,155,92,.10);color:#18784d}

.passkey-settings-block{
  margin-top:20px;padding-top:18px;border-top:1px solid rgba(120,140,160,.13)
}
.passkey-settings-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:14px}
.passkey-settings-head h4{margin:0 0 4px}
.passkey-settings-head p{margin:0;color:var(--muted,#718096);font-size:13px;max-width:680px}
.passkey-list{display:flex;flex-direction:column;gap:9px;margin:12px 0 16px}
.passkey-row{
  display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:13px;
  border:1px solid rgba(120,140,160,.14);background:rgba(120,160,190,.055)
}
.passkey-key-icon{
  flex:0 0 38px;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  color:#fff;background:linear-gradient(135deg,#5ab6ff,#147edc);font-size:22px;font-weight:800
}
.passkey-row-main{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}
.passkey-row-main small{color:var(--muted,#718096);font-size:.78rem}
.passkey-remove-btn{padding:8px 11px!important;min-height:auto!important}
.passkey-register-row{
  display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end;margin-top:12px
}
.passkey-register-row label{margin:0}
.passkey-register-row .primary-btn{min-height:43px}
@media(max-width:700px){
  .passkey-settings-head{flex-direction:column;gap:8px}
  .passkey-register-row{grid-template-columns:1fr}
  .passkey-row{align-items:flex-start}
}

/* Dark theme */
body.theme-dark .passkey-row{background:rgba(255,255,255,.035);border-color:rgba(150,185,215,.11)}
body.theme-dark .passkey-settings-block{border-top-color:rgba(150,185,215,.10)}
body.theme-dark .passkey-row-main small,body.theme-dark .passkey-settings-head p{color:#91a9bd}

/* Blue theme */
body.theme-blue .passkey-row{background:rgba(255,255,255,.105);border-color:rgba(255,255,255,.18)}
body.theme-blue .passkey-settings-block{border-top-color:rgba(255,255,255,.16)}
body.theme-blue .passkey-row-main small,body.theme-blue .passkey-settings-head p{color:rgba(255,255,255,.75)}

/* =========================================================
   V40.5 – Mobile shell overflow fix
   Prevent the authenticated shell/header/search from creating
   horizontal scrolling on iPhone and other narrow viewports.
   ========================================================= */
html,body{
  max-width:100%;
  overflow-x:hidden;
}

@media(max-width:820px){
  .cloud-shell,
  .app-global-header,
  .sidebar,
  .content,
  .persistent-nav-content{
    width:100%!important;
    max-width:100vw!important;
    min-width:0!important;
  }

  .cloud-shell{
    overflow-x:hidden!important;
  }

  .app-global-header{
    box-sizing:border-box!important;
    padding-left:14px!important;
    padding-right:14px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
  }

  .app-global-brand,
  .app-global-actions,
  .app-global-search{
    min-width:0!important;
  }

  .app-global-brand{
    overflow:hidden;
  }

  .app-global-brand img{
    width:min(240px,100%)!important;
    max-width:100%!important;
    height:auto!important;
  }

  .app-global-search{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  .app-global-search input{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
  }

  .sidebar{
    box-sizing:border-box!important;
    overflow-x:hidden!important;
  }

  .side-nav,
  .nav-favorites{
    min-width:0!important;
    max-width:100%!important;
  }

  .side-nav a,
  .nav-favorites a{
    min-width:0!important;
  }

  .side-nav a span,
  .nav-favorites a span{
    min-width:0!important;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .content,
  .persistent-nav-content{
    box-sizing:border-box!important;
    overflow-x:hidden!important;
  }
}

@media(max-width:520px){
  .app-global-header{
    padding:10px 12px!important;
    gap:9px!important;
  }

  .app-global-brand img{
    width:min(220px,100%)!important;
  }

  .app-global-actions{
    gap:7px!important;
  }

  .app-global-bell{
    width:42px!important;
    height:42px!important;
  }

  .app-global-profile summary{
    padding:3px 7px 3px 3px!important;
  }

  .app-global-profile .avatar{
    width:34px!important;
    height:34px!important;
  }

  .app-global-profile .chevron{
    display:none!important;
  }

  .app-global-search{
    height:46px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
}


/* =========================================================
   V40.10 – Blue theme settings rail + shared files icon
   The settings sub-navigation must belong to the same blue
   surface as the application shell (no pale blue vertical bar).
   ========================================================= */
body.theme-blue .persistent-nav-content > .settings-shell,
body.theme-blue .settings-shell{
  background:transparent!important;
}
body.theme-blue .settings-sidebar{
  background:#0877d5!important;
  background-image:none!important;
  border:0!important;
  border-right:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.theme-blue .settings-sidebar::before,
body.theme-blue .settings-sidebar::after{
  content:none!important;
  display:none!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}


/* =========================================================
   V40.11 – Notes rich editor, nested folders, tags, PDF
   ========================================================= */
.notes41-color-tool{
  display:inline-flex;align-items:center;gap:3px;padding:3px 5px;border-radius:7px;
  color:#536b80;font-size:.78rem;font-weight:800;cursor:pointer
}
.notes41-color-tool:hover{background:#e8f3ff;color:#0878df}
.notes41-color-tool input[type="color"]{
  width:18px;height:18px;padding:0;border:0;background:transparent;cursor:pointer
}
.notes41-color-tool input[type="color"]::-webkit-color-swatch-wrapper{padding:1px}
.notes41-color-tool input[type="color"]::-webkit-color-swatch{border:1px solid rgba(0,0,0,.14);border-radius:5px}
.notes41-color-tool.highlight span{text-decoration:underline;text-decoration-thickness:4px;text-decoration-color:#fff59d}
.note-inline-image{display:block;max-width:100%;height:auto;margin:14px auto;border-radius:12px;box-shadow:0 5px 18px rgba(20,50,75,.12)}
.notes32-folders a{padding-left:calc(8px + (var(--folder-depth,0) * 14px))!important}
.notes32-folders a.active{background:#e8f3ff;color:#0878df}
.notes32-add form{gap:6px}.notes32-add select{width:100%}
.notes32-tag-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px}
.notes32-tag-row>a{min-width:0}
.notes32-tag-row form{margin:0}
.notes32-tag-row button{
  width:24px;height:24px;border:0;border-radius:7px;background:transparent;color:#92a4b4;
  cursor:pointer;font-size:14px;line-height:1
}
.notes32-tag-row button:hover{background:#ffe9e9;color:#d32f2f}
.notes32-head-actions{display:flex;align-items:center;gap:6px}
.notes41-pdf-btn{
  display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 9px;border-radius:8px;
  background:#eef6fd;color:#2878b9;text-decoration:none;font-size:.78rem;font-weight:800
}
.notes41-pdf-btn:hover{background:#0a84ff;color:#fff}
.theme-dark .notes41-color-tool{color:#bdd0df}.theme-dark .notes41-color-tool:hover{background:#173b5a;color:#fff}
.theme-dark .notes32-folders a.active{background:#173b5a;color:#fff}
.theme-dark .notes32-tag-row button{color:#90a9bd}.theme-dark .notes32-tag-row button:hover{background:#4a1f29;color:#ffd8df}
.theme-dark .notes41-pdf-btn{background:#173b5a;color:#dcecff}
body.theme-blue .notes32-folders a.active{background:rgba(255,255,255,.16);color:#fff}
body.theme-blue .notes41-pdf-btn{background:rgba(255,255,255,.17);color:#fff}
@media(max-width:760px){
  .notes32-toolbar{gap:4px}
  .notes41-color-tool{padding:4px}
  .notes32-head-actions{gap:4px}
}

/* =========================================================
   V40.12 – Global minimum readable text size
   Reference: Finance dashboard description
   "Gesamtübersicht aller geplanten Familienfinanzen."
   Minimum explicit text size: .78rem (~12.5px)
   ========================================================= */

/* =========================================================
   V40.13 – Manrope font loading hardening
   Manrope is loaded in the document <head> via stylesheet link
   instead of relying only on a CSS @import.
   ========================================================= */


/* =========================================================
   V40.14 – UI Consistency / Design System pass
   Goal: modules must feel like one application.
   Reference shell, controls, uploads, spacing and typography.
   ========================================================= */
:root{
  --fc-content-x:20px;
  --fc-content-bottom:26px;
  --fc-control-height:40px;
  --fc-control-radius:10px;
  --fc-control-pad-x:12px;
  --fc-control-border:rgba(127,127,127,.22);
  --fc-control-bg:rgba(255,255,255,.78);
  --fc-panel-radius:16px;
  --fc-panel-pad:18px;
  --fc-section-gap:16px;
  --fc-field-gap:6px;
}

/* ---------- One content origin for every normal module ---------- */
.content,
.persistent-nav-content{
  padding-left:var(--fc-content-x)!important;
  padding-right:var(--fc-content-x)!important;
  padding-bottom:var(--fc-content-bottom)!important;
}
.persistent-nav-content > .module-shell,
.persistent-nav-content > .settings-shell{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
/* Historical module widths must not move the first content column. */
.persistent-nav-content > .todo-v13,
.persistent-nav-content > .files-v14,
.persistent-nav-content > .finance-module,
.persistent-nav-content > .shopping-v10,
.persistent-nav-content > .contracts-v16,
.persistent-nav-content > .inventory-module,
.persistent-nav-content > .health-module,
.persistent-nav-content > .vehicles-v20,
.persistent-nav-content > .warranty-v11,
.persistent-nav-content > .cards-v18,
.persistent-nav-content > .global-search-v155,
.persistent-nav-content > .notifications-v19{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* ---------- Common page/module headers ---------- */
.module-header,
.todo-header,
.files-header,
.finance-header,
.shopping-header,
.contracts-header,
.inventory-header,
.health-header,
.vehicles-header,
.warranty-header,
.cards-header,
.notifications-header{
  margin-left:0!important;
  margin-right:0!important;
}
.module-header h1,
.todo-header h1,
.files-header h1,
.finance-header h1,
.shopping-header h1,
.contracts-header h1,
.inventory-header h1,
.health-header h1,
.vehicles-header h1,
.warranty-header h1,
.cards-header h1,
.notifications-header h1{
  margin-top:0;
}

/* ---------- Form controls: one visual language ---------- */
.modal-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]),
.modal-form select,
.modal-form textarea,
.settings-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]),
.settings-form select,
.settings-form textarea,
.filter-bar input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.filter-bar select{
  border:1px solid var(--fc-control-border)!important;
  border-radius:var(--fc-control-radius)!important;
  background:var(--fc-control-bg);
  min-height:var(--fc-control-height);
  padding:9px var(--fc-control-pad-x)!important;
}
.modal-form textarea,
.settings-form textarea{min-height:96px;resize:vertical}
.modal-form label,
.settings-form label{
  gap:var(--fc-field-gap);
}

/* ---------- Buttons: consistent height/radius, without changing icon-only buttons ---------- */
.primary-btn,
.secondary-btn,
.modal-actions > button:not(.icon-action),
.modal-actions > a:not(.icon-action){
  min-height:var(--fc-control-height);
  border-radius:var(--fc-control-radius)!important;
  padding:9px 14px!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  line-height:1.2;
}

/* ---------- Native file chooser: identical everywhere it remains visible ---------- */
input[type="file"]:not([hidden]){
  width:100%;
  max-width:100%;
  min-height:var(--fc-control-height);
  padding:4px;
  border:1px solid var(--fc-control-border);
  border-radius:var(--fc-control-radius);
  background:var(--fc-control-bg);
  color:inherit;
  line-height:30px;
  overflow:hidden;
}
input[type="file"]:not([hidden])::file-selector-button{
  min-height:30px;
  margin:0 10px 0 0;
  padding:5px 11px;
  border:0;
  border-radius:8px;
  background:rgba(10,132,255,.11);
  color:#0878df;
  font:inherit;
  font-weight:750;
  cursor:pointer;
}
input[type="file"]:not([hidden])::-webkit-file-upload-button{
  min-height:30px;
  margin:0 10px 0 0;
  padding:5px 11px;
  border:0;
  border-radius:8px;
  background:rgba(10,132,255,.11);
  color:#0878df;
  font:inherit;
  font-weight:750;
  cursor:pointer;
}

/* Upload components share dimensions and interaction feedback. */
.big-dropzone,
.contract-file-upload,
.file-upload-card,
.mini-upload,
.finance-upload,
.card-upload-choice{
  border-color:var(--fc-control-border)!important;
  border-radius:14px!important;
}
.big-dropzone,
.contract-file-upload,
.file-upload-card{
  min-height:92px;
}
.big-dropzone:hover,
.contract-file-upload:hover,
.file-upload-card:hover,
.mini-upload:hover,
.finance-upload:hover,
.card-upload-choice:hover{
  border-color:rgba(10,132,255,.55)!important;
  background:rgba(10,132,255,.045)!important;
}

/* File inputs inside visual upload cards must not create a second giant control. */
.big-dropzone input[type="file"]:not([hidden]),
.contract-file-upload input[type="file"]:not([hidden]),
.file-upload-card input[type="file"]:not([hidden]),
.mini-upload input[type="file"]:not([hidden]){
  min-height:36px;
  background:transparent;
}

/* ---------- Modal consistency ---------- */
.modal-card{
  border-radius:20px!important;
}
.modal-head{
  min-height:56px;
}
.modal-actions{
  gap:8px!important;
}

/* ---------- Panels/cards: align corner language ---------- */
.glass-panel,
.settings-card{
  border-radius:var(--fc-panel-radius)!important;
}

/* ---------- Dark/blue themes ---------- */
.theme-dark input[type="file"]:not([hidden]),
body.theme-blue input[type="file"]:not([hidden]){
  background:rgba(8,31,49,.72);
  border-color:rgba(120,170,205,.22);
  color:#dce8f1;
}
.theme-dark input[type="file"]:not([hidden])::file-selector-button,
body.theme-blue input[type="file"]:not([hidden])::file-selector-button,
.theme-dark input[type="file"]:not([hidden])::-webkit-file-upload-button,
body.theme-blue input[type="file"]:not([hidden])::-webkit-file-upload-button{
  background:#123d5e;
  color:#ddecf8;
}

/* ---------- Mobile uses the same origin, just a smaller token ---------- */
@media(max-width:820px){
  :root{--fc-content-x:14px;--fc-content-bottom:22px}
  .persistent-nav-content > .module-shell,
  .persistent-nav-content > .settings-shell{
    width:100%!important;
    max-width:100%!important;
  }
  input[type="file"]:not([hidden]){min-width:0}
}


/* =========================================================
   V40.15 – Desktop header/content spacing
   Slightly more breathing room below the global header.
   ========================================================= */
@media(min-width:821px){
  .persistent-nav-content{
    padding-top:28px!important;
  }
}


/* =========================================================
   V40.18 – Modern select / dropdown styling
   Consistent dropdown appearance across the whole app.
   ========================================================= */
select:not([multiple]){
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  min-height:40px;
  padding:9px 42px 9px 12px!important;
  border:1px solid rgba(127,127,127,.24)!important;
  border-radius:10px!important;
  background-color:rgba(255,255,255,.82);
  color:inherit;
  font:inherit;
  line-height:1.2;
  cursor:pointer;
  background-image:
    linear-gradient(45deg,transparent 50%,#6f8aa2 50%),
    linear-gradient(135deg,#6f8aa2 50%,transparent 50%);
  background-position:
    calc(100% - 17px) 50%,
    calc(100% - 12px) 50%;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
  transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease;
}
select:not([multiple]):hover{
  border-color:rgba(10,132,255,.48)!important;
  background-color:rgba(255,255,255,.92);
}
select:not([multiple]):focus{
  outline:none!important;
  border-color:#0a84ff!important;
  box-shadow:0 0 0 3px rgba(10,132,255,.14)!important;
}
select:not([multiple]):disabled{
  opacity:.58;
  cursor:not-allowed;
}
select:not([multiple]) option{
  color:#14283b;
  background:#fff;
}

/* Dark shell / themes */
.theme-dark select:not([multiple]),
body.theme-blue select:not([multiple]){
  background-color:rgba(12,39,59,.92);
  border-color:rgba(116,169,207,.24)!important;
  color:#e9f2f8;
  background-image:
    linear-gradient(45deg,transparent 50%,#8eb7d8 50%),
    linear-gradient(135deg,#8eb7d8 50%,transparent 50%);
}
.theme-dark select:not([multiple]):hover,
body.theme-blue select:not([multiple]):hover{
  background-color:rgba(17,50,75,.98);
  border-color:rgba(71,164,235,.62)!important;
}
.theme-dark select:not([multiple]):focus,
body.theme-blue select:not([multiple]):focus{
  border-color:#2b9dff!important;
  box-shadow:0 0 0 3px rgba(43,157,255,.16)!important;
}
.theme-dark select:not([multiple]) option,
body.theme-blue select:not([multiple]) option{
  color:#eaf4fb;
  background:#10283b;
}

/* Health sharing controls get a compact, aligned presentation. */
.health-access-row select:not([multiple]),
.health-share-add select:not([multiple]),
.health-sharing select:not([multiple]){
  min-height:38px;
  border-radius:10px!important;
}
.health-access-row select:not([multiple]){
  min-width:132px;
}
.health-share-add,
.health-sharing-add{
  gap:8px!important;
}


/* =========================================================
   V40.19 – To-dos filter dropdown refinement
   Keep compact filter selects visually aligned with the search field.
   ========================================================= */
.todo-filterbar select:not([multiple]){
  width:100%;
  min-width:0;
  min-height:40px;
  height:40px;
  padding:9px 36px 9px 12px!important;
  border-radius:10px!important;
  border:1px solid #1c3c58!important;
  background-color:#0c2135!important;
  color:#eaf3fa!important;
  box-shadow:none!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238eb7d8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 12px center!important;
  background-size:14px 14px!important;
}
.todo-filterbar select:not([multiple]):hover{
  background-color:#10283e!important;
  border-color:#2d5d82!important;
}
.todo-filterbar select:not([multiple]):focus{
  background-color:#10283e!important;
  border-color:#2b9dff!important;
  box-shadow:0 0 0 3px rgba(43,157,255,.14)!important;
}
.todo-filterbar select:not([multiple]) option{
  background:#10283b!important;
  color:#eaf4fb!important;
}
.todo-filterbar .secondary-btn{
  min-height:40px;
  height:40px;
  white-space:nowrap;
}

/* Light theme equivalent keeps the same geometry. */
body.theme-light .todo-filterbar select:not([multiple]){
  background-color:#fbfdff!important;
  border-color:#dce6f0!important;
  color:#1d2d42!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236f8aa2' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")!important;
}
body.theme-light .todo-filterbar select:not([multiple]):hover{
  background-color:#f5f9fd!important;
  border-color:#9fc7e8!important;
}
body.theme-light .todo-filterbar select:not([multiple]) option{
  background:#fff!important;
  color:#1d2d42!important;
}

@media(max-width:820px){
  .todo-filterbar select:not([multiple]),
  .todo-filterbar .secondary-btn{
    height:42px;
    min-height:42px;
  }
}


/* =========================================================
   V40.20 – Shopping list dropdown refinement
   Align category selects with the dark shopping module UI.
   ========================================================= */

/* Category select in the add-item row */
.shopping-v10 select:not([multiple]),
.shopping-header select:not([multiple]),
.shopping-main select:not([multiple]),
.shopping-panel select:not([multiple]),
.shopping-add-row select:not([multiple]),
.shopping-filters select:not([multiple]),
.shopping-filterbar select:not([multiple]){
  min-height:40px;
  height:40px;
  padding:9px 36px 9px 12px!important;
  border-radius:10px!important;
  border:1px solid #1c3c58!important;
  background-color:#0c2135!important;
  color:#eaf3fa!important;
  box-shadow:none!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238eb7d8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 12px center!important;
  background-size:14px 14px!important;
}
.shopping-v10 select:not([multiple]):hover,
.shopping-header select:not([multiple]):hover,
.shopping-main select:not([multiple]):hover,
.shopping-panel select:not([multiple]):hover,
.shopping-add-row select:not([multiple]):hover,
.shopping-filters select:not([multiple]):hover,
.shopping-filterbar select:not([multiple]):hover{
  background-color:#10283e!important;
  border-color:#2d5d82!important;
}
.shopping-v10 select:not([multiple]):focus,
.shopping-header select:not([multiple]):focus,
.shopping-main select:not([multiple]):focus,
.shopping-panel select:not([multiple]):focus,
.shopping-add-row select:not([multiple]):focus,
.shopping-filters select:not([multiple]):focus,
.shopping-filterbar select:not([multiple]):focus{
  background-color:#10283e!important;
  border-color:#2b9dff!important;
  box-shadow:0 0 0 3px rgba(43,157,255,.14)!important;
  outline:none!important;
}
.shopping-v10 select:not([multiple]) option,
.shopping-header select:not([multiple]) option,
.shopping-main select:not([multiple]) option,
.shopping-panel select:not([multiple]) option,
.shopping-add-row select:not([multiple]) option,
.shopping-filters select:not([multiple]) option,
.shopping-filterbar select:not([multiple]) option{
  background:#10283b!important;
  color:#eaf4fb!important;
}

/* Light theme equivalent. */
body.theme-light .shopping-v10 select:not([multiple]),
body.theme-light .shopping-header select:not([multiple]),
body.theme-light .shopping-main select:not([multiple]),
body.theme-light .shopping-panel select:not([multiple]),
body.theme-light .shopping-add-row select:not([multiple]),
body.theme-light .shopping-filters select:not([multiple]),
body.theme-light .shopping-filterbar select:not([multiple]){
  background-color:#fbfdff!important;
  border-color:#dce6f0!important;
  color:#1d2d42!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236f8aa2' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")!important;
}
body.theme-light .shopping-v10 select:not([multiple]):hover,
body.theme-light .shopping-header select:not([multiple]):hover,
body.theme-light .shopping-main select:not([multiple]):hover,
body.theme-light .shopping-panel select:not([multiple]):hover,
body.theme-light .shopping-add-row select:not([multiple]):hover,
body.theme-light .shopping-filters select:not([multiple]):hover,
body.theme-light .shopping-filterbar select:not([multiple]):hover{
  background-color:#f5f9fd!important;
  border-color:#9fc7e8!important;
}
body.theme-light .shopping-v10 select:not([multiple]) option,
body.theme-light .shopping-header select:not([multiple]) option,
body.theme-light .shopping-main select:not([multiple]) option,
body.theme-light .shopping-panel select:not([multiple]) option,
body.theme-light .shopping-add-row select:not([multiple]) option,
body.theme-light .shopping-filters select:not([multiple]) option,
body.theme-light .shopping-filterbar select:not([multiple]) option{
  background:#fff!important;
  color:#1d2d42!important;
}

@media(max-width:820px){
  .shopping-v10 select:not([multiple]),
  .shopping-header select:not([multiple]),
  .shopping-main select:not([multiple]),
  .shopping-panel select:not([multiple]),
  .shopping-add-row select:not([multiple]),
  .shopping-filters select:not([multiple]),
  .shopping-filterbar select:not([multiple]){
    min-height:42px;
    height:42px;
  }
}


/* =========================================================
   V40.21 – Global dropdown normalization
   One select design across every module and settings page.
   This block is intentionally last so historical module CSS
   cannot reintroduce browser/default or pale-blue selects.
   ========================================================= */

:root{
  --fc-select-h:40px;
  --fc-select-radius:10px;
  --fc-select-dark-bg:#0c2135;
  --fc-select-dark-bg-hover:#10283e;
  --fc-select-dark-border:#1c3c58;
  --fc-select-dark-border-hover:#2d5d82;
  --fc-select-dark-text:#eaf3fa;
  --fc-select-dark-chevron:#8eb7d8;
  --fc-select-light-bg:#fbfdff;
  --fc-select-light-bg-hover:#f5f9fd;
  --fc-select-light-border:#dce6f0;
  --fc-select-light-border-hover:#9fc7e8;
  --fc-select-light-text:#1d2d42;
  --fc-select-light-chevron:#6f8aa2;
}

/* Every ordinary single-select in the application */
body select:not([multiple]):not([size]){
  -webkit-appearance:none!important;
  -moz-appearance:none!important;
  appearance:none!important;
  box-sizing:border-box!important;
  min-height:var(--fc-select-h)!important;
  height:var(--fc-select-h)!important;
  max-width:100%;
  padding:9px 38px 9px 12px!important;
  border:1px solid var(--fc-select-dark-border)!important;
  border-radius:var(--fc-select-radius)!important;
  background-color:var(--fc-select-dark-bg)!important;
  color:var(--fc-select-dark-text)!important;
  font:inherit!important;
  line-height:1.2!important;
  box-shadow:none!important;
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238eb7d8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 12px center!important;
  background-size:14px 14px!important;
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}

body select:not([multiple]):not([size]):hover{
  background-color:var(--fc-select-dark-bg-hover)!important;
  border-color:var(--fc-select-dark-border-hover)!important;
}

body select:not([multiple]):not([size]):focus{
  outline:none!important;
  background-color:var(--fc-select-dark-bg-hover)!important;
  border-color:#2b9dff!important;
  box-shadow:0 0 0 3px rgba(43,157,255,.14)!important;
}

body select:not([multiple]):not([size]):disabled{
  opacity:.58!important;
  cursor:not-allowed!important;
}

body select:not([multiple]):not([size]) option{
  background:#10283b!important;
  color:#eaf4fb!important;
}

/* White/light theme */
body.theme-light select:not([multiple]):not([size]),
body.theme-white select:not([multiple]):not([size]){
  background-color:var(--fc-select-light-bg)!important;
  border-color:var(--fc-select-light-border)!important;
  color:var(--fc-select-light-text)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236f8aa2' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")!important;
}

body.theme-light select:not([multiple]):not([size]):hover,
body.theme-white select:not([multiple]):not([size]):hover{
  background-color:var(--fc-select-light-bg-hover)!important;
  border-color:var(--fc-select-light-border-hover)!important;
}

body.theme-light select:not([multiple]):not([size]):focus,
body.theme-white select:not([multiple]):not([size]):focus{
  background-color:#fff!important;
  border-color:#0a84ff!important;
  box-shadow:0 0 0 3px rgba(10,132,255,.13)!important;
}

body.theme-light select:not([multiple]):not([size]) option,
body.theme-white select:not([multiple]):not([size]) option{
  background:#fff!important;
  color:#1d2d42!important;
}

/* Controls inside compact rows keep the same appearance and geometry. */
.filter-bar select:not([multiple]):not([size]),
.todo-filterbar select:not([multiple]):not([size]),
.shopping-filterbar select:not([multiple]):not([size]),
.shopping-v10 select:not([multiple]):not([size]),
.health-access-row select:not([multiple]):not([size]),
.health-share-add select:not([multiple]):not([size]),
.health-sharing select:not([multiple]):not([size]),
.modal-form select:not([multiple]):not([size]),
.settings-form select:not([multiple]):not([size]){
  min-height:var(--fc-select-h)!important;
  height:var(--fc-select-h)!important;
  border-radius:var(--fc-select-radius)!important;
}

/* Native browser arrow must stay hidden also in Safari. */
body select:not([multiple]):not([size])::-ms-expand{display:none}

/* Responsive controls: same visual system, slightly larger touch target. */
@media(max-width:820px){
  :root{--fc-select-h:42px}
}


/* =========================================================
   V40.22 – Global form field readability
   Standardized text inputs / textareas across all modules
   and themes, including placeholder, readonly and disabled.
   ========================================================= */
:root{
  --fc-field-h:40px;
  --fc-field-radius:10px;
  --fc-field-pad-x:12px;

  --fc-field-dark-bg:#0c2135;
  --fc-field-dark-bg-hover:#10283e;
  --fc-field-dark-border:#1c3c58;
  --fc-field-dark-border-hover:#2d5d82;
  --fc-field-dark-text:#eef5fb;
  --fc-field-dark-placeholder:#7f98ad;
  --fc-field-dark-muted-bg:#13283a;
  --fc-field-dark-muted-text:#b9cad8;

  --fc-field-light-bg:#ffffff;
  --fc-field-light-bg-hover:#fbfdff;
  --fc-field-light-border:#d7e2ec;
  --fc-field-light-border-hover:#9fc7e8;
  --fc-field-light-text:#1d2d42;
  --fc-field-light-placeholder:#8293a4;
  --fc-field-light-muted-bg:#eef3f7;
  --fc-field-light-muted-text:#5e7183;
}

/* Ordinary text-entry controls only */
body input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
body textarea{
  box-sizing:border-box!important;
  min-height:var(--fc-field-h);
  max-width:100%;
  padding:9px var(--fc-field-pad-x)!important;
  border:1px solid var(--fc-field-dark-border)!important;
  border-radius:var(--fc-field-radius)!important;
  background:var(--fc-field-dark-bg)!important;
  color:var(--fc-field-dark-text)!important;
  font:inherit!important;
  line-height:1.35!important;
  box-shadow:none!important;
  caret-color:#58b4ff;
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}

body textarea{
  min-height:96px;
}

body input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"])::placeholder,
body textarea::placeholder{
  color:var(--fc-field-dark-placeholder)!important;
  opacity:1!important;
}

body input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]):hover,
body textarea:hover{
  background:var(--fc-field-dark-bg-hover)!important;
  border-color:var(--fc-field-dark-border-hover)!important;
}

body input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]):focus,
body textarea:focus{
  outline:none!important;
  background:var(--fc-field-dark-bg-hover)!important;
  border-color:#2b9dff!important;
  box-shadow:0 0 0 3px rgba(43,157,255,.14)!important;
}

/* Read-only values must remain clearly readable. */
body input[readonly],
body textarea[readonly]{
  background:var(--fc-field-dark-muted-bg)!important;
  color:var(--fc-field-dark-muted-text)!important;
  border-color:#294257!important;
  cursor:default;
  opacity:1!important;
}

/* Disabled fields are muted but still legible. */
body input:disabled,
body textarea:disabled{
  background:var(--fc-field-dark-muted-bg)!important;
  color:var(--fc-field-dark-muted-text)!important;
  border-color:#294257!important;
  opacity:.72!important;
  cursor:not-allowed;
}

/* Autofill must not reintroduce a bright field on dark themes. */
body input:-webkit-autofill,
body input:-webkit-autofill:hover,
body input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--fc-field-dark-text)!important;
  -webkit-box-shadow:0 0 0 1000px var(--fc-field-dark-bg) inset!important;
  caret-color:#58b4ff;
}

/* Light / white theme */
body.theme-light input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
body.theme-light textarea,
body.theme-white input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
body.theme-white textarea{
  background:var(--fc-field-light-bg)!important;
  color:var(--fc-field-light-text)!important;
  border-color:var(--fc-field-light-border)!important;
  caret-color:#0a84ff;
}

body.theme-light input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"])::placeholder,
body.theme-light textarea::placeholder,
body.theme-white input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"])::placeholder,
body.theme-white textarea::placeholder{
  color:var(--fc-field-light-placeholder)!important;
}

body.theme-light input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]):hover,
body.theme-light textarea:hover,
body.theme-white input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]):hover,
body.theme-white textarea:hover{
  background:var(--fc-field-light-bg-hover)!important;
  border-color:var(--fc-field-light-border-hover)!important;
}

body.theme-light input[readonly],
body.theme-light textarea[readonly],
body.theme-white input[readonly],
body.theme-white textarea[readonly]{
  background:var(--fc-field-light-muted-bg)!important;
  color:var(--fc-field-light-muted-text)!important;
  border-color:#d3dee8!important;
  opacity:1!important;
}

body.theme-light input:disabled,
body.theme-light textarea:disabled,
body.theme-white input:disabled,
body.theme-white textarea:disabled{
  background:var(--fc-field-light-muted-bg)!important;
  color:var(--fc-field-light-muted-text)!important;
  border-color:#d3dee8!important;
  opacity:.72!important;
}

body.theme-light input:-webkit-autofill,
body.theme-light input:-webkit-autofill:hover,
body.theme-light input:-webkit-autofill:focus,
body.theme-white input:-webkit-autofill,
body.theme-white input:-webkit-autofill:hover,
body.theme-white input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--fc-field-light-text)!important;
  -webkit-box-shadow:0 0 0 1000px var(--fc-field-light-bg) inset!important;
}

/* Compact rows retain one geometry everywhere */
.modal-form input:not([type="file"]):not([type="checkbox"]):not([type="radio"]):not([type="color"]),
.settings-form input:not([type="file"]):not([type="checkbox"]):not([type="radio"]):not([type="color"]),
.filter-bar input:not([type="file"]):not([type="checkbox"]):not([type="radio"]):not([type="color"]){
  min-height:var(--fc-field-h)!important;
  border-radius:var(--fc-field-radius)!important;
}

@media(max-width:820px){
  :root{--fc-field-h:42px}
}


/* =========================================================
   V40.23 – Vehicle card contrast / informational field
   The "Nächster Termin" block is display content, not an input.
   Keep it visually consistent with the other dark information
   blocks instead of rendering as a bright/white card.
   ========================================================= */

/* Vehicle informational/meta blocks */
.vehicles-v20 .vehicle-card .vehicle-next,
.vehicles-v20 .vehicle-card .next-date,
.vehicles-v20 .vehicle-card .next-appointment,
.vehicles-v20 .vehicle-card .vehicle-deadline,
.vehicles-v20 .vehicle-card .deadline-box,
.vehicles-v20 .vehicle-card .vehicle-info-box,
.vehicles-v20 .vehicle-card .vehicle-meta-box{
  background:#132b3f!important;
  border:1px solid rgba(78,129,165,.16)!important;
  color:#eaf3fa!important;
  border-radius:10px!important;
}

/* Catch the actual vehicle detail cards while preserving badges/actions. */
.vehicles-v20 .vehicle-card > div[style*="background"],
.vehicles-v20 .vehicle-card .vehicle-grid > div,
.vehicles-v20 .vehicle-card .vehicle-details > div{
  color:#eaf3fa;
}

/* The deadline/info value and label need distinct readable contrast. */
.vehicles-v20 .vehicle-card .vehicle-next small,
.vehicles-v20 .vehicle-card .next-date small,
.vehicles-v20 .vehicle-card .next-appointment small,
.vehicles-v20 .vehicle-card .vehicle-deadline small,
.vehicles-v20 .vehicle-card .deadline-box small,
.vehicles-v20 .vehicle-card .vehicle-info-box small,
.vehicles-v20 .vehicle-card .vehicle-meta-box small,
.vehicles-v20 .vehicle-card .vehicle-next .muted,
.vehicles-v20 .vehicle-card .next-date .muted,
.vehicles-v20 .vehicle-card .next-appointment .muted,
.vehicles-v20 .vehicle-card .vehicle-deadline .muted{
  color:#8fa7ba!important;
}
.vehicles-v20 .vehicle-card .vehicle-next strong,
.vehicles-v20 .vehicle-card .next-date strong,
.vehicles-v20 .vehicle-card .next-appointment strong,
.vehicles-v20 .vehicle-card .vehicle-deadline strong,
.vehicles-v20 .vehicle-card .deadline-box strong,
.vehicles-v20 .vehicle-card .vehicle-info-box strong,
.vehicles-v20 .vehicle-card .vehicle-meta-box strong{
  color:#eef5fb!important;
}

/* Light/white theme uses the corresponding neutral information surface. */
body.theme-light .vehicles-v20 .vehicle-card .vehicle-next,
body.theme-light .vehicles-v20 .vehicle-card .next-date,
body.theme-light .vehicles-v20 .vehicle-card .next-appointment,
body.theme-light .vehicles-v20 .vehicle-card .vehicle-deadline,
body.theme-light .vehicles-v20 .vehicle-card .deadline-box,
body.theme-light .vehicles-v20 .vehicle-card .vehicle-info-box,
body.theme-light .vehicles-v20 .vehicle-card .vehicle-meta-box,
body.theme-white .vehicles-v20 .vehicle-card .vehicle-next,
body.theme-white .vehicles-v20 .vehicle-card .next-date,
body.theme-white .vehicles-v20 .vehicle-card .next-appointment,
body.theme-white .vehicles-v20 .vehicle-card .vehicle-deadline,
body.theme-white .vehicles-v20 .vehicle-card .deadline-box,
body.theme-white .vehicles-v20 .vehicle-card .vehicle-info-box,
body.theme-white .vehicles-v20 .vehicle-card .vehicle-meta-box{
  background:#f4f7fa!important;
  border-color:#dce5ed!important;
  color:#1d2d42!important;
}


/* =========================================================
   V40.24 – Global checkbox normalization
   One checkbox design across all modules and themes.
   ========================================================= */
:root{
  --fc-check-size:18px;
  --fc-check-radius:5px;

  --fc-check-dark-bg:#0c2135;
  --fc-check-dark-border:#35546b;
  --fc-check-dark-hover:#12314b;
  --fc-check-dark-checked:#0a84ff;
  --fc-check-dark-focus:rgba(43,157,255,.18);

  --fc-check-light-bg:#ffffff;
  --fc-check-light-border:#b7c7d6;
  --fc-check-light-hover:#f4f8fb;
  --fc-check-light-checked:#0a84ff;
  --fc-check-light-focus:rgba(10,132,255,.14);
}

/* Every normal checkbox in the app */
body input[type="checkbox"]{
  -webkit-appearance:none!important;
  -moz-appearance:none!important;
  appearance:none!important;
  box-sizing:border-box!important;
  width:var(--fc-check-size)!important;
  min-width:var(--fc-check-size)!important;
  max-width:var(--fc-check-size)!important;
  height:var(--fc-check-size)!important;
  min-height:var(--fc-check-size)!important;
  max-height:var(--fc-check-size)!important;
  margin:0!important;
  padding:0!important;
  border:1.5px solid var(--fc-check-dark-border)!important;
  border-radius:var(--fc-check-radius)!important;
  background:var(--fc-check-dark-bg)!important;
  box-shadow:none!important;
  cursor:pointer;
  position:relative;
  vertical-align:middle;
  flex:0 0 var(--fc-check-size)!important;
  transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .08s ease!important;
}

body input[type="checkbox"]:hover{
  background:var(--fc-check-dark-hover)!important;
  border-color:#5a86a6!important;
}

body input[type="checkbox"]:focus-visible{
  outline:none!important;
  border-color:#2b9dff!important;
  box-shadow:0 0 0 3px var(--fc-check-dark-focus)!important;
}

body input[type="checkbox"]:checked{
  background-color:var(--fc-check-dark-checked)!important;
  border-color:var(--fc-check-dark-checked)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:13px 13px!important;
}

body input[type="checkbox"]:checked:hover{
  background-color:#1591ff!important;
  border-color:#1591ff!important;
}

body input[type="checkbox"]:active{
  transform:scale(.94);
}

body input[type="checkbox"]:disabled{
  opacity:.45!important;
  cursor:not-allowed!important;
}

/* Indeterminate state */
body input[type="checkbox"]:indeterminate{
  background-color:var(--fc-check-dark-checked)!important;
  border-color:var(--fc-check-dark-checked)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:13px 13px!important;
}

/* Light / white theme */
body.theme-light input[type="checkbox"],
body.theme-white input[type="checkbox"]{
  background:var(--fc-check-light-bg)!important;
  border-color:var(--fc-check-light-border)!important;
}

body.theme-light input[type="checkbox"]:hover,
body.theme-white input[type="checkbox"]:hover{
  background:var(--fc-check-light-hover)!important;
  border-color:#7fa8c7!important;
}

body.theme-light input[type="checkbox"]:focus-visible,
body.theme-white input[type="checkbox"]:focus-visible{
  border-color:#0a84ff!important;
  box-shadow:0 0 0 3px var(--fc-check-light-focus)!important;
}

body.theme-light input[type="checkbox"]:checked,
body.theme-white input[type="checkbox"]:checked,
body.theme-light input[type="checkbox"]:indeterminate,
body.theme-white input[type="checkbox"]:indeterminate{
  background-color:var(--fc-check-light-checked)!important;
  border-color:var(--fc-check-light-checked)!important;
}

/* Checkbox labels should align consistently */
label:has(> input[type="checkbox"]),
label:has(input[type="checkbox"]){
  align-items:center;
}

/* Compact filter rows keep label + checkbox aligned */
.filter-check,
.todo-filterbar label,
.shopping-filterbar label{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

@media(max-width:820px){
  :root{--fc-check-size:20px;--fc-check-radius:6px}
}


/* =========================================================
   V40.26 – OneDrive integration
   ========================================================= */
.integration-admin-box{padding:16px;border:1px solid rgba(111,170,218,.18);border-radius:14px;background:rgba(10,32,50,.38);margin-bottom:16px}
.onedrive-connect-card{display:grid;gap:16px;padding:18px;border:1px solid rgba(88,153,202,.18);border-radius:16px;background:rgba(8,28,44,.44)}
.onedrive-brand{display:flex;align-items:center;gap:12px}.onedrive-brand>div{display:grid;gap:3px}.onedrive-brand small{color:var(--muted,#91a5b7)}
.onedrive-cloud-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#34a8ff,#0877d5);font-size:25px;color:#fff}
.integration-status{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(35,83,116,.28)}
.integration-status .status-dot{width:9px;height:9px;border-radius:50%;background:#38d487;box-shadow:0 0 0 4px rgba(56,212,135,.1)}
.integration-status.warn .status-dot{background:#ffb84d;box-shadow:0 0 0 4px rgba(255,184,77,.12)}
.integration-status>div{display:grid;gap:2px}.integration-status small{color:#8fa7ba}
.onedrive-mount-settings{display:grid;gap:9px}
.onedrive-mount-row{display:grid;grid-template-columns:minmax(170px,1.1fr) minmax(180px,1.2fr) minmax(180px,.9fr) auto auto;gap:9px;align-items:center;padding:10px;border:1px solid rgba(90,145,186,.16);border-radius:12px;background:rgba(9,29,45,.4)}
.mount-source{display:flex;align-items:center;gap:9px;min-width:0}.mount-source>div{display:grid;min-width:0}.mount-source strong,.mount-source small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mount-source small{color:#839bad}
.integration-disconnect-form{padding-top:4px}
.onedrive-picker-shell{width:100%;max-width:none}
.onedrive-picker-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:18px}
.onedrive-browser,.onedrive-mount-card{padding:18px}.onedrive-browser-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.onedrive-mount-card{height:max-content;position:sticky;top:100px}.settings-help{color:#8fa7ba;font-size:.82rem;line-height:1.55}
.onedrive-item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.onedrive-item-card{position:relative;display:flex;align-items:center;min-height:82px;border:1px solid rgba(78,129,165,.15);border-radius:14px;background:#102b41;overflow:hidden}
.onedrive-item-open{display:flex;align-items:center;gap:12px;min-width:0;flex:1;padding:15px;text-decoration:none;color:inherit}
.onedrive-item-icon{font-size:27px;min-width:34px;text-align:center}.onedrive-item-open>div{display:grid;min-width:0}.onedrive-item-open strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onedrive-item-open small{color:#8ca4b7;margin-top:3px}
.onedrive-item-actions{display:flex;align-items:center;gap:4px;padding-right:8px}.onedrive-item-actions form{margin:0}
.onedrive-up-row{margin-bottom:12px}
body.theme-light .integration-admin-box,body.theme-white .integration-admin-box,body.theme-light .onedrive-connect-card,body.theme-white .onedrive-connect-card{background:#fbfdff;border-color:#dce7ef}
body.theme-light .onedrive-mount-row,body.theme-white .onedrive-mount-row{background:#f6f9fc;border-color:#dce7ef}
body.theme-light .onedrive-item-card,body.theme-white .onedrive-item-card{background:#fff;border-color:#dce6ee}
body.theme-light .integration-status,body.theme-white .integration-status{background:#f3f8fc}
body.theme-light .integration-status small,body.theme-white .integration-status small,body.theme-light .settings-help,body.theme-white .settings-help{color:#667c8e}
@media(max-width:1000px){.onedrive-mount-row{grid-template-columns:1fr 1fr}.onedrive-mount-row .mount-source{grid-column:1/-1}.onedrive-picker-layout{grid-template-columns:1fr}.onedrive-mount-card{position:static}}
@media(max-width:680px){.onedrive-mount-row{grid-template-columns:1fr}.onedrive-mount-row .mount-source{grid-column:auto}.onedrive-item-grid{grid-template-columns:1fr}.onedrive-browser-head{align-items:flex-start;flex-direction:column}}
\n/* V40.27 – Personal OneDrive public-client/device-code flow */\n.onedrive-device-shell{width:100%;max-width:1050px;margin:0 auto}.onedrive-device-card{max-width:720px;margin:24px auto 0;padding:26px;display:grid;gap:22px}.onedrive-device-brand{padding-bottom:18px;border-bottom:1px solid rgba(105,155,192,.16)}.device-step{display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;align-items:start}.device-step-number{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#0877d5;color:#fff;font-weight:800}.device-step>div{display:grid;gap:9px}.device-step p{margin:0;color:#8fa7ba;line-height:1.55}.onedrive-user-code{width:max-content;max-width:100%;padding:13px 18px;border:1px solid #2a5c80;border-radius:12px;background:#0c2135;color:#eef7ff;font-size:1.45rem;font-weight:800;letter-spacing:.12em}.onedrive-waiting{display:flex;align-items:center;gap:10px;color:#a8bdce}.onedrive-spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(111,181,231,.25);border-top-color:#2b9dff;animation:fc-spin .9s linear infinite}@keyframes fc-spin{to{transform:rotate(360deg)}}.onedrive-device-security{display:grid;gap:5px;padding:14px;border-radius:12px;background:rgba(8,119,213,.09);border:1px solid rgba(57,149,222,.16)}.onedrive-device-security span{color:#90a8bb;line-height:1.5}body.theme-light .onedrive-user-code,body.theme-white .onedrive-user-code{background:#f4f8fb;color:#1d2d42;border-color:#b9d4e8}body.theme-light .device-step p,body.theme-white .device-step p,body.theme-light .onedrive-device-security span,body.theme-white .onedrive-device-security span{color:#62788b}@media(max-width:680px){.onedrive-device-card{padding:18px}.device-step{grid-template-columns:32px minmax(0,1fr)}.device-step-number{width:30px;height:30px}.onedrive-user-code{font-size:1.15rem;letter-spacing:.08em}}\n

/* =========================================================
   V40.29 – Files scope tabs + OneDrive list consistency
   ========================================================= */
.storage-scope-tabs{
  display:grid!important;
  grid-template-columns:repeat(var(--files-scope-count,4),minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  overflow:visible!important;
}
.storage-scope-tabs>a{
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
}
.storage-scope-tabs>a span{min-width:0}
.storage-scope-tabs>a strong,
.storage-scope-tabs>a small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.onedrive-explorer-list{margin-top:0}
.onedrive-explorer-list .explorer-list-table{width:100%}
.onedrive-explorer-list .explorer-name strong{white-space:normal;overflow-wrap:anywhere}
@media (max-width:820px){
  .storage-scope-tabs{
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    padding-bottom:2px;
  }
  .storage-scope-tabs::-webkit-scrollbar{display:none}
  .storage-scope-tabs>a{
    flex:0 0 min(78vw,320px)!important;
    width:min(78vw,320px)!important;
  }
}


/* =========================================================
   V40.30 – Files tabs hotfix
   Robust equal-width tabs without PHP-side tab counting.
   ========================================================= */
.storage-scope-tabs{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:12px!important;
  width:100%!important;
  overflow:visible!important;
}
.storage-scope-tabs>a{
  flex:1 1 0!important;
  width:0!important;
  min-width:0!important;
  max-width:none!important;
}
.storage-scope-tabs>a span{min-width:0!important}
.storage-scope-tabs>a strong,
.storage-scope-tabs>a small{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
@media (max-width:820px){
  .storage-scope-tabs{
    overflow-x:auto!important;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
  }
  .storage-scope-tabs::-webkit-scrollbar{display:none}
  .storage-scope-tabs>a{
    flex:0 0 min(78vw,320px)!important;
    width:min(78vw,320px)!important;
  }
}

/* V40.31 – OneDrive file preview/download */
.onedrive-download-action{text-decoration:none!important;display:inline-grid!important;place-items:center}


/* =========================================================
   V40.32 – Integrated OneDrive preview
   ========================================================= */
.onedrive-file-detail-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.onedrive-integrated-preview{min-height:65vh}
.onedrive-integrated-preview iframe{width:100%;height:65vh;border:0;border-radius:14px;background:#fff}
.onedrive-preview-unavailable{
  display:grid;gap:8px;padding:22px;border-radius:14px;
  border:1px solid rgba(119,153,181,.18);background:rgba(119,153,181,.08)
}
.onedrive-preview-unavailable span{color:#8fa7ba;line-height:1.55}
body.theme-light .onedrive-preview-unavailable span,
body.theme-white .onedrive-preview-unavailable span{color:#61788b}
@media(max-width:820px){
  .onedrive-file-detail-actions{width:100%}
  .onedrive-file-detail-actions .secondary-btn,
  .onedrive-file-detail-actions .primary-btn{flex:1 1 auto;text-align:center}
  .onedrive-integrated-preview,
  .onedrive-integrated-preview iframe{height:58vh;min-height:58vh}
}


/* =========================================================
   V40.33 – Move OneDrive files into Familien Cloud
   ========================================================= */
.move-cloud-file-note{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:13px;background:rgba(8,119,213,.08);border:1px solid rgba(8,119,213,.15)}
.move-cloud-file-note>span{font-size:1.35rem}.move-cloud-file-note>div{display:grid;gap:3px;min-width:0}
.move-cloud-file-note strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.move-cloud-file-note small,.move-cloud-warning span{color:#8fa7ba;line-height:1.5}
.move-cloud-warning{display:grid;gap:4px;padding:12px 14px;border-radius:12px;background:rgba(236,170,54,.08);border:1px solid rgba(236,170,54,.18)}
body.theme-light .move-cloud-file-note small,body.theme-white .move-cloud-file-note small,
body.theme-light .move-cloud-warning span,body.theme-white .move-cloud-warning span{color:#61788b}


/* V40.34 – Recursive OneDrive folder move */
.od-move-cloud[data-kind="folder"]{font-weight:800}


/* =========================================================
   V40.38 – Folder size only on demand
   ========================================================= */
.folder-info-btn,.onedrive-folder-info-btn{
  font-weight:800!important;
  font-size:1rem!important;
}
.folder-info-modal-card{max-width:520px}
.folder-info-body{display:grid;gap:16px}
.folder-info-loading{display:flex;align-items:center;gap:10px;min-height:86px;color:#8fa7ba}
.folder-info-result{display:grid;gap:6px;padding:18px;border-radius:14px;background:rgba(8,119,213,.08);border:1px solid rgba(8,119,213,.16)}
.folder-info-result>span{font-size:.78rem;font-weight:700;color:#8fa7ba;text-transform:uppercase;letter-spacing:.08em}
.folder-info-result>strong{font-size:1.8rem;line-height:1.15}
.folder-info-result>small{color:#8fa7ba}
body.theme-light .folder-info-loading,body.theme-white .folder-info-loading,
body.theme-light .folder-info-result>span,body.theme-white .folder-info-result>span,
body.theme-light .folder-info-result>small,body.theme-white .folder-info-result>small{color:#61788b}


/* =========================================================
   V40.39 – Folder info loading-state fix
   ========================================================= */
.folder-info-loading[hidden],
.folder-info-result[hidden],
.folder-info-body .toast[hidden]{
  display:none!important;
}


/* =========================================================
   V40.40 – Hierarchical destination folder picker
   ========================================================= */
.move-folder-tree-caption{
  display:block;
  margin-bottom:8px;
  font-weight:700;
}
.move-folder-tree{
  max-height:330px;
  overflow:auto;
  padding:7px;
  border:1px solid rgba(116,154,185,.24);
  border-radius:14px;
  background:rgba(116,154,185,.045);
}
.move-folder-tree-node,
.move-folder-tree-root{min-width:0}
.move-folder-tree-row{
  min-height:42px;
  display:grid;
  grid-template-columns:28px 24px minmax(0,1fr) 36px;
  gap:6px;
  align-items:center;
  padding:3px 5px;
  border-radius:10px;
}
.move-folder-tree-row:hover{background:rgba(8,119,213,.07)}
.move-folder-tree-children{
  margin-left:22px;
  padding-left:9px;
  border-left:1px solid rgba(116,154,185,.22);
}
.move-folder-tree-toggle,
.move-folder-tree-toggle-spacer{
  width:28px;height:28px;
  display:grid;place-items:center;
}
.move-folder-tree-toggle{
  border:0;background:transparent;color:inherit;
  cursor:pointer;border-radius:8px;
  font-size:1.35rem;line-height:1;
  transition:transform .15s ease,background .15s ease;
}
.move-folder-tree-toggle:hover{background:rgba(8,119,213,.09)}
.move-folder-tree-toggle.open{transform:rotate(90deg)}
.move-folder-tree-icon{
  width:24px;display:grid;place-items:center;
  color:#2494ef;font-size:1rem;
}
.move-folder-tree-icon.root{font-size:1.1rem}
.move-folder-tree-label{
  border:0;background:transparent;color:inherit;text-align:left;
  min-width:0;padding:7px 4px;
  font:inherit;font-weight:650;cursor:pointer;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.move-folder-tree-check{
  width:32px;height:32px;display:grid;place-items:center;cursor:pointer;
}
.move-folder-tree-check input{
  position:absolute;opacity:0;pointer-events:none;
}
.move-folder-tree-check span{
  width:26px;height:26px;border-radius:8px;
  display:grid;place-items:center;
  border:1.5px solid rgba(99,139,171,.42);
  color:transparent;background:transparent;
  font-weight:800;transition:.15s ease;
}
.move-folder-tree-check input:checked + span{
  background:#0877d5;border-color:#0877d5;color:#fff;
  box-shadow:0 4px 12px rgba(8,119,213,.18);
}
.move-folder-tree-row:has(.move-folder-tree-check input:checked){
  background:rgba(8,119,213,.09);
}
body.theme-light .move-folder-tree,
body.theme-white .move-folder-tree{background:#fbfdff}
@media(max-width:680px){
  .move-folder-tree{max-height:280px}
  .move-folder-tree-children{margin-left:14px;padding-left:6px}
}


/* =========================================================
   V40.41 – Move picker alignment + transfer progress
   ========================================================= */
.move-folder-tree-children{
  margin-left:0!important;
  padding-left:0!important;
  border-left:0!important;
}
.move-folder-tree-node>.move-folder-tree-row{
  width:100%;
  box-sizing:border-box;
  padding-left:calc(5px + (var(--tree-depth,0) * 22px))!important;
}
.move-folder-tree-root>.move-folder-tree-row{
  width:100%;
  box-sizing:border-box;
  padding-left:5px!important;
}
.move-folder-tree-row{
  grid-template-columns:28px 24px minmax(0,1fr) 34px!important;
}
.move-folder-tree-check{
  justify-self:end;
  align-self:center;
}
.move-folder-tree-check span{
  width:28px!important;
  height:28px!important;
  border-radius:8px!important;
}
.move-folder-tree-row:has(.move-folder-tree-check input:checked){
  background:rgba(8,119,213,.10)!important;
}
.move-folder-tree-row:has(.move-folder-tree-check input:checked) .move-folder-tree-label{
  color:#0877d5;
}
.move-progress-stage-list{
  display:grid;
  gap:8px;
  margin-top:4px;
}
.move-progress-stage-list>div{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:10px;
  color:#8198ab;
}
.move-progress-stage-list>div>span{
  width:26px;height:26px;border-radius:50%;
  display:grid;place-items:center;
  border:1px solid rgba(110,149,181,.3);
  font-size:.78rem;font-weight:800;
}
.move-progress-stage-list>div.active{
  color:inherit;background:rgba(8,119,213,.07);
}
.move-progress-stage-list>div.active>span{
  border-color:#0877d5;color:#0877d5;
}
.move-progress-stage-list>div.done{
  color:inherit;
}
.move-progress-stage-list>div.done>span{
  background:#0877d5;border-color:#0877d5;color:#fff;
}
@media(max-width:680px){
  .move-folder-tree-node>.move-folder-tree-row{
    padding-left:calc(4px + (var(--tree-depth,0) * 17px))!important;
  }
}


/* =========================================================
   V40.42 – Local files/folders move
   ========================================================= */
.local-move-modal-card{max-width:760px}
.local-move-tree{max-height:360px}
.local-move-tree .move-folder-tree-children{
  margin-left:0!important;
  padding-left:0!important;
  border-left:0!important;
}
.local-move-node>.move-folder-tree-row{
  padding-left:calc(5px + (var(--tree-depth,0) * 22px))!important;
}
.move-target-disabled>.move-folder-tree-row{
  opacity:.42;
}
.move-target-disabled>.move-folder-tree-row:hover{
  background:transparent!important;
}
.move-target-disabled .move-folder-tree-label,
.move-target-disabled .move-folder-tree-check{
  cursor:not-allowed!important;
}
@media(max-width:680px){
  .local-move-node>.move-folder-tree-row{
    padding-left:calc(4px + (var(--tree-depth,0) * 17px))!important;
  }
}


/* =========================================================
   V40.43 – Move tree checkbox alignment / native checkbox isolation
   ========================================================= */

/* The app has global checkbox styling. In the move-tree we render our own
   checkbox surface (<span>), so the native checkbox must be completely
   removed from layout/painting to avoid a second displaced box. */
.move-folder-tree-check{
  position:relative!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  justify-self:end!important;
  align-self:center!important;
  line-height:1!important;
}
.move-folder-tree-check>input[type="checkbox"]{
  position:absolute!important;
  inset:auto!important;
  left:50%!important;
  top:50%!important;
  width:1px!important;
  height:1px!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  transform:translate(-50%,-50%)!important;
  pointer-events:none!important;
  box-shadow:none!important;
  background:transparent!important;
}
.move-folder-tree-check>span{
  position:static!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
  line-height:1!important;
}
.move-folder-tree-row{
  min-height:44px!important;
  align-items:center!important;
}
.move-folder-tree-row>*{
  align-self:center;
}
.move-folder-tree-row:has(.move-folder-tree-check>input[type="checkbox"]:checked){
  background:rgba(8,119,213,.10)!important;
}
.move-folder-tree-check>input[type="checkbox"]:checked + span{
  background:#0877d5!important;
  border-color:#0877d5!important;
  color:#fff!important;
}
.local-move-tree .move-folder-tree-row{
  grid-template-columns:28px 24px minmax(0,1fr) 34px!important;
}


/* =========================================================
   V40.45 – OneDrive Symbol-/Listenansicht
   ========================================================= */
.onedrive-card-grid{margin-top:0}
.onedrive-card-grid .onedrive-grid-card{min-width:0}
.onedrive-card-grid .folder-actions,
.onedrive-card-grid .file-card-actions{flex-wrap:wrap}


/* =========================================================
   V40.46 – Clickable internal note links
   ========================================================= */
.notes32-canvas a.note-internal-link{
  display:inline;
  color:#0877d5!important;
  text-decoration:none!important;
  font-weight:700;
  background:rgba(8,119,213,.09);
  border:1px solid rgba(8,119,213,.16);
  border-radius:7px;
  padding:1px 5px;
  cursor:pointer;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.notes32-canvas a.note-internal-link:hover{
  background:rgba(8,119,213,.15);
  text-decoration:none!important;
}


/* =========================================================
   V40.47 – Notes workspace polish + advanced editor
   ========================================================= */

/* Search: keep placeholder text clear of the search icon. */
.notes32-search .notes-search-icon{
  position:absolute!important;
  left:11px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:2!important;
  line-height:1!important;
  pointer-events:none!important;
}
.notes32-search input{
  padding-left:36px!important;
}

/* Collapsible left panes. */
.notes47-pane-controls,
.notes47-empty-pane-controls{
  display:flex;
  align-items:center;
  gap:6px;
}
.notes47-empty-pane-controls{
  position:sticky;
  top:0;
  z-index:4;
  padding:10px 12px;
  border-bottom:1px solid #edf2f6;
  background:rgba(255,255,255,.94);
}
.notes47-empty-pane-controls[hidden]{display:none!important}
.notes47-pane-toggle{
  border:1px solid rgba(127,127,127,.18);
  background:rgba(127,151,176,.08);
  color:inherit;
  border-radius:8px;
  padding:5px 8px;
  font:inherit;
  font-size:.78rem;
  font-weight:750;
  cursor:pointer;
  white-space:nowrap;
}
.notes47-pane-toggle:hover{background:rgba(8,119,213,.11);color:#0877d5}
.notes32-workspace.notes47-nav-collapsed{
  grid-template-columns:0 300px minmax(0,1fr)!important;
}
.notes32-workspace.notes47-list-collapsed{
  grid-template-columns:210px 0 minmax(0,1fr)!important;
}
.notes32-workspace.notes47-nav-collapsed.notes47-list-collapsed{
  grid-template-columns:0 0 minmax(0,1fr)!important;
}
.notes47-nav-collapsed .notes32-nav,
.notes47-list-collapsed .notes32-list{
  display:none!important;
}
.notes32-editor-head{
  gap:10px;
}
.notes32-save-state{
  margin-right:auto;
}

/* Fixed text color palette + editor selects. */
.notes47-color-palette{
  position:relative;
}
.notes47-color-palette>summary{
  list-style:none;
  display:grid;
  place-items:center;
  min-width:30px;
  height:30px;
  padding:0 7px;
  border-radius:7px;
  cursor:pointer;
  font-weight:800;
  color:#536b80;
}
.notes47-color-palette>summary::-webkit-details-marker{display:none}
.notes47-color-palette>summary:hover{background:#e8f3ff;color:#0878df}
.notes47-color-a{
  text-decoration:underline;
  text-decoration-thickness:3px;
  text-decoration-color:#0877d5;
  text-underline-offset:3px;
}
.notes47-swatch-grid{
  position:absolute;
  top:35px;
  left:0;
  z-index:30;
  display:grid;
  grid-template-columns:repeat(5,26px);
  gap:6px;
  padding:8px;
  border:1px solid #dce6ee;
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 30px rgba(25,50,75,.16);
}
.notes47-swatch{
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  padding:0!important;
  border:2px solid rgba(0,0,0,.08)!important;
  border-radius:7px!important;
  background:var(--swatch)!important;
}
.notes47-font-select,
.notes47-callout-select{
  height:30px;
  max-width:112px;
  border:0;
  border-radius:7px;
  padding:0 7px;
  background:transparent;
  color:#536b80;
  font:inherit;
  font-size:.78rem;
  font-weight:700;
}
.notes47-font-select:hover,
.notes47-callout-select:hover{background:#e8f3ff;color:#0878df}

/* Callout / hint blocks. */
.notes32-canvas .note-callout{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:10px;
  margin:14px 0;
  padding:13px 14px;
  border:1px solid transparent;
  border-radius:12px;
}
.notes32-canvas .note-callout-icon{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-weight:900;
  font-size:.9rem;
}
.notes32-canvas .note-callout-content{min-width:0}
.notes32-canvas .note-callout-content>strong{display:block;margin:0 0 2px;font-size:.82rem}
.notes32-canvas .note-callout-content>p{margin:2px 0}
.notes32-canvas .note-callout-info{
  background:#edf7ff;
  border-color:#c8e6ff;
  color:#254e6d;
}
.notes32-canvas .note-callout-info .note-callout-icon{background:#0877d5;color:#fff}
.notes32-canvas .note-callout-hint{
  background:#f2f5f8;
  border-color:#dce4eb;
  color:#42596c;
}
.notes32-canvas .note-callout-hint .note-callout-icon{background:#607d8b;color:#fff}
.notes32-canvas .note-callout-tip{
  background:#edf9f2;
  border-color:#cdebd8;
  color:#315c43;
}
.notes32-canvas .note-callout-tip .note-callout-icon{background:#2e9c61;color:#fff}
.notes32-canvas .note-callout-warning{
  background:#fff4ed;
  border-color:#ffd8c2;
  color:#7a4328;
}
.notes32-canvas .note-callout-warning .note-callout-icon{background:#e87532;color:#fff}

/* Inline image editor. */
.note-image-block{
  margin:16px auto;
  max-width:100%;
}
.note-image-w-100{width:100%}
.note-image-w-75{width:75%}
.note-image-w-50{width:50%}
.note-image-w-25{width:25%}
.note-image-frame{
  width:100%;
  overflow:hidden;
  border-radius:12px;
}
.note-image-block .note-inline-image{
  display:block;
  width:100%;
  max-width:none;
  height:auto;
  margin:0;
  border-radius:12px;
  box-shadow:0 5px 18px rgba(20,50,75,.12);
  object-fit:cover;
  object-position:center center;
}
.note-image-crop-square .note-image-frame{aspect-ratio:1/1}
.note-image-crop-fourthree .note-image-frame{aspect-ratio:4/3}
.note-image-crop-wide .note-image-frame{aspect-ratio:16/9}
.note-image-crop-square .note-inline-image,
.note-image-crop-fourthree .note-inline-image,
.note-image-crop-wide .note-inline-image{
  width:100%;
  height:100%;
}
.note-image-pos-top .note-inline-image{object-position:center top}
.note-image-pos-center .note-inline-image{object-position:center center}
.note-image-pos-bottom .note-inline-image{object-position:center bottom}
.note-image-block figcaption{
  margin-top:7px;
  text-align:center;
  color:#7c90a3;
  font-size:.78rem;
  line-height:1.45;
}
.note-image-block figcaption:empty{display:none}
.note-inline-image.note-image-selected{
  outline:3px solid rgba(8,119,213,.45);
  outline-offset:3px;
}
.notes47-image-modal{max-width:620px}
.notes47-image-settings{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.notes47-image-settings label{
  display:grid;
  gap:6px;
  font-size:.78rem;
  font-weight:750;
}
.notes47-image-settings select,
.notes47-image-settings input{
  width:100%;
  min-height:40px;
  border:1px solid var(--fc-control-border);
  border-radius:10px;
  padding:8px 10px;
  background:var(--fc-control-bg);
  color:inherit;
  font:inherit;
}
.notes47-caption-field{grid-column:1/-1}

/* Trash / recovery. */
.notes47-trash-item{
  display:block;
}
.notes47-trash-actions{
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:10px;
}
.notes47-trash-actions form{margin:0}
.notes47-trash-actions .secondary-btn{min-height:32px;padding:5px 9px;font-size:.78rem}

/* Dark / blue variants. */
.theme-dark .notes47-swatch-grid{background:#10283e;border-color:#24445f}
.theme-dark .notes47-font-select,
.theme-dark .notes47-callout-select,
.theme-dark .notes47-pane-toggle{color:#bdd0df}
.theme-dark .notes47-empty-pane-controls{background:rgba(13,35,55,.94);border-color:#193852}
.theme-dark .notes32-canvas .note-callout-info{background:#12334a;border-color:#27506d;color:#d8edfb}
.theme-dark .notes32-canvas .note-callout-hint{background:#1a2c3b;border-color:#30485b;color:#d7e3ec}
.theme-dark .notes32-canvas .note-callout-tip{background:#15372b;border-color:#2b5b46;color:#d8f0e3}
.theme-dark .notes32-canvas .note-callout-warning{background:#452b20;border-color:#704531;color:#ffe4d5}
body.theme-blue .notes47-pane-toggle,
body.theme-blue .notes47-font-select,
body.theme-blue .notes47-callout-select{color:#eaf6ff}
body.theme-blue .notes47-pane-toggle:hover,
body.theme-blue .notes47-font-select:hover,
body.theme-blue .notes47-callout-select:hover{background:rgba(255,255,255,.12);color:#fff}
body.theme-blue .notes47-empty-pane-controls{background:rgba(4,65,115,.50);border-color:rgba(220,243,255,.18)}

@media(max-width:1100px) and (min-width:761px){
  .notes32-workspace.notes47-nav-collapsed{grid-template-columns:0 260px minmax(0,1fr)!important}
  .notes32-workspace.notes47-list-collapsed{grid-template-columns:180px 0 minmax(0,1fr)!important}
}
@media(max-width:760px){
  .notes47-pane-controls{flex-wrap:wrap}
  .notes47-nav-collapsed .notes32-nav,
  .notes47-list-collapsed .notes32-list{display:none!important}
  .notes47-image-settings{grid-template-columns:1fr}
  .notes47-caption-field{grid-column:auto}
  .note-image-w-75,.note-image-w-50,.note-image-w-25{width:100%}
}


/* =========================================================
   V40.48 – Notes collapse layout fix
   Keep each pane pinned to its own grid column even when
   one of the neighbouring panes is display:none.
   ========================================================= */
.notes32-workspace > .notes32-nav{
  grid-column:1!important;
  grid-row:1!important;
}
.notes32-workspace > .notes32-list{
  grid-column:2!important;
  grid-row:1!important;
}
.notes32-workspace > .notes32-editor{
  grid-column:3!important;
  grid-row:1!important;
  min-width:0!important;
}

/* When a pane is collapsed, the editor must still occupy
   the editor column and expand into the freed space. */
.notes32-workspace.notes47-nav-collapsed > .notes32-editor,
.notes32-workspace.notes47-list-collapsed > .notes32-editor,
.notes32-workspace.notes47-nav-collapsed.notes47-list-collapsed > .notes32-editor{
  grid-column:3!important;
}

/* Mobile layout remains a normal stacked flow. */
@media(max-width:760px){
  .notes32-workspace > .notes32-nav,
  .notes32-workspace > .notes32-list,
  .notes32-workspace > .notes32-editor{
    grid-column:auto!important;
    grid-row:auto!important;
  }
}


/* =========================================================
   V40.49 – Notes search icon / placeholder alignment
   The global input normalisation has higher specificity and
   was overriding the Notes-specific left padding.
   ========================================================= */
body .notes32-nav .notes32-search{
  position:relative!important;
}
body .notes32-nav .notes32-search .notes-search-icon{
  position:absolute!important;
  left:14px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:3!important;
  width:16px!important;
  height:16px!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
  pointer-events:none!important;
}
body .notes32-nav .notes32-search input[type="text"],
body .notes32-nav .notes32-search input[type="search"],
body .notes32-nav .notes32-search input:not([type]){
  padding-left:44px!important;
  padding-right:12px!important;
}


/* =========================================================
   V40.50 – Notes search + editor selection stability
   ========================================================= */

/* Use a real SVG search icon and leave an intentionally generous
   text gutter so global form normalisation and browser zoom cannot
   make the placeholder collide with the icon. */
body .notes32-nav .notes32-search .notes-search-icon{
  left:16px!important;
  width:20px!important;
  height:20px!important;
  color:#7890a4!important;
}
body .notes32-nav .notes32-search .notes-search-icon svg{
  display:block!important;
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body .notes32-nav .notes32-search input[name="q"]{
  padding-left:58px!important;
  text-indent:0!important;
}

/* Current-font selector should remain readable when it displays
   the active font instead of only the generic label. */
.notes47-font-select{
  min-width:112px!important;
  max-width:132px!important;
}


/* =========================================================
   V40.52 – Notes search field hard fix
   Inline !important on the actual Notes search input is used
   because the global input normalisation has very high
   specificity through multiple :not(...) selectors.
   ========================================================= */
.notes32-search{
  position:relative!important;
}
.notes32-search .notes-search-icon{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:4!important;
  pointer-events:none!important;
}
.notes32-search .notes-search-icon svg{
  width:18px!important;
  height:18px!important;
}


/* =========================================================
   V40.53 – Kalender
   ========================================================= */
.calendar53-shell{width:100%;min-width:0}
.calendar53-header{
  display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 16px
}
.calendar53-header h1{margin:0}
.calendar53-header p{margin:4px 0 0;color:#8191a3;font-size:.78rem}

.calendar53-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  margin-bottom:14px
}
.calendar53-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.calendar53-nav-btn{
  width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(127,127,127,.2);
  border-radius:10px;text-decoration:none;color:#49657c;background:rgba(255,255,255,.78);
  font-size:1.35rem;font-weight:700
}
.calendar53-nav-btn:hover{border-color:#5caaff;color:#0877d5;background:#f3f9ff}
.calendar53-today{min-height:38px!important}
.calendar53-month-title{font-size:1.03rem;color:#20384f;margin-left:4px;white-space:nowrap}
.calendar53-scope-tabs{
  display:flex;align-items:center;gap:5px;padding:4px;border:1px solid #dfe8f0;border-radius:12px;background:rgba(255,255,255,.72)
}
.calendar53-scope-tabs a{
  padding:7px 11px;border-radius:8px;text-decoration:none;color:#6f8497;font-size:.78rem;font-weight:750
}
.calendar53-scope-tabs a:hover{color:#0877d5;background:#eef7ff}
.calendar53-scope-tabs a.active{background:#0877d5;color:#fff;box-shadow:0 4px 12px rgba(8,119,213,.18)}

.calendar53-layout{
  display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px;align-items:start
}
.calendar53-calendar{overflow:hidden;padding:0!important}
.calendar53-weekdays{
  display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#f7fafc;border-bottom:1px solid #e6edf3
}
.calendar53-weekdays>div{
  padding:11px 10px;text-align:center;color:#8194a7;font-size:.78rem;font-weight:800;letter-spacing:.04em
}
.calendar53-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar53-day{
  position:relative;min-height:128px;padding:8px;border-right:1px solid #edf2f6;border-bottom:1px solid #edf2f6;
  background:#fff;min-width:0
}
.calendar53-day:nth-child(7n){border-right:0}
.calendar53-day:nth-last-child(-n+7){border-bottom:0}
.calendar53-day.outside{background:#fafbfd}
.calendar53-day.outside .calendar53-day-number{color:#b9c4ce}
.calendar53-day.today{background:#f5faff}
.calendar53-day.today::after{
  content:"";position:absolute;inset:0;pointer-events:none;border:2px solid rgba(8,119,213,.25)
}
.calendar53-day-number{
  width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:#496176;
  font:inherit;font-size:.78rem;font-weight:800;cursor:pointer
}
.calendar53-day-number:hover{background:#eaf5ff;color:#0877d5}
.calendar53-day.today .calendar53-day-number{background:#0877d5;color:#fff}
.calendar53-day-events{display:grid;gap:4px;margin-top:5px}
.calendar53-event{
  display:flex;align-items:center;gap:5px;width:100%;min-width:0;height:25px;padding:3px 7px;
  border:0;border-left:3px solid currentColor;border-radius:6px;background:rgba(8,119,213,.08);
  color:#0877d5;font:inherit;font-size:.78rem;text-align:left;cursor:pointer
}
.calendar53-event time{font-size:.72rem;font-weight:800;opacity:.8;flex:0 0 auto}
.calendar53-event span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.calendar53-event:hover{filter:brightness(.97);box-shadow:0 2px 8px rgba(30,70,105,.08)}
.calendar53-event.color-green,.calendar53-agenda-item.color-green{color:#20835a;background:rgba(32,131,90,.09)}
.calendar53-event.color-orange,.calendar53-agenda-item.color-orange{color:#c66d0b;background:rgba(198,109,11,.09)}
.calendar53-event.color-red,.calendar53-agenda-item.color-red{color:#c43b45;background:rgba(196,59,69,.09)}
.calendar53-event.color-purple,.calendar53-agenda-item.color-purple{color:#7954c8;background:rgba(121,84,200,.09)}
.calendar53-event.color-pink,.calendar53-agenda-item.color-pink{color:#c74484;background:rgba(199,68,132,.09)}
.calendar53-event.color-teal,.calendar53-agenda-item.color-teal{color:#168b90;background:rgba(22,139,144,.09)}
.calendar53-event.color-gray,.calendar53-agenda-item.color-gray{color:#66798a;background:rgba(102,121,138,.09)}
.calendar53-more{
  border:0;background:transparent;color:#668298;font:inherit;font-size:.72rem;font-weight:750;
  text-align:left;padding:2px 4px;cursor:pointer
}
.calendar53-more:hover{color:#0877d5}

.calendar53-side{display:grid;gap:14px}
.calendar53-side-card{padding:16px!important}
.calendar53-side-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:11px}
.calendar53-side-head>div{display:grid;gap:2px}
.calendar53-side-head small{color:#8a9cae;font-size:.72rem;font-weight:800;letter-spacing:.12em}
.calendar53-side-head strong{color:#263f55}
.calendar53-side-head>span{
  min-width:28px;height:28px;padding:0 8px;display:grid;place-items:center;border-radius:999px;background:#eaf5ff;color:#0877d5;font-size:.78rem;font-weight:800
}
.calendar53-empty-side{padding:12px;border-radius:10px;background:#f7fafc;color:#8b9bab;font-size:.78rem}
.calendar53-agenda-list{display:grid;gap:7px}
.calendar53-agenda-item{
  width:100%;display:grid;grid-template-columns:8px minmax(0,1fr);gap:9px;align-items:center;
  border:0;border-radius:10px;padding:9px 10px;background:rgba(8,119,213,.07);color:#0877d5;text-align:left;cursor:pointer
}
.calendar53-agenda-dot{width:8px;height:8px;border-radius:50%;background:currentColor}
.calendar53-agenda-item>span:last-child{display:grid;gap:2px;min-width:0}
.calendar53-agenda-item strong{color:#29445a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar53-agenda-item small{color:#7f93a5;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar53-upcoming{display:grid;gap:9px}
.calendar53-upcoming>div{display:grid;grid-template-columns:44px minmax(0,1fr);gap:9px;align-items:start}
.calendar53-upcoming time{color:#0877d5;font-weight:850;font-size:.78rem;padding-top:2px}
.calendar53-upcoming span{display:grid;gap:2px;min-width:0}
.calendar53-upcoming strong{font-size:.8rem;color:#29445a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar53-upcoming small{font-size:.72rem;color:#8a9aac}

.calendar53-modal{max-width:760px}
.calendar53-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.calendar53-form-grid label,.calendar53-attendees legend{
  display:grid;gap:6px;font-size:.78rem;font-weight:750;color:#647d92
}
.calendar53-span-2{grid-column:1/-1}
.calendar53-form-grid input,.calendar53-form-grid select,.calendar53-form-grid textarea{
  width:100%;min-width:0
}
.calendar53-check{display:flex!important;align-items:center;gap:8px;padding-top:25px}
.calendar53-check input{flex:0 0 auto}
.calendar53-attendees{
  margin:14px 0 0;padding:12px;border:1px solid #e1e9f0;border-radius:12px
}
.calendar53-attendees legend{padding:0 5px}
.calendar53-attendees>div{display:flex;gap:8px;flex-wrap:wrap}
.calendar53-attendees label{
  display:flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid #e1e9f0;border-radius:999px;
  font-size:.78rem;cursor:pointer;background:#fbfdff
}
.calendar53-attendees label>span{display:flex;align-items:center;gap:5px}
.calendar53-attendees .avatar{width:22px;height:22px;font-size:.68rem}
.calendar53-modal-actions{margin-top:16px}
.calendar53-delete-form{margin-top:10px;padding-top:10px;border-top:1px solid #edf2f6;text-align:right}
.danger-btn{color:#c33f49!important;border-color:rgba(195,63,73,.2)!important}
.danger-btn:hover{background:#fff0f1!important}
.calendar53-attendees[hidden],#calRecurrenceUntilWrap[hidden],.cal-time-field[hidden]{display:none!important}

/* Dark theme */
.theme-dark .calendar53-month-title{color:#edf6fd}
.theme-dark .calendar53-nav-btn,.theme-dark .calendar53-scope-tabs{background:#10283e;border-color:#24445f;color:#c7d8e6}
.theme-dark .calendar53-weekdays{background:#10283e;border-color:#24445f}
.theme-dark .calendar53-day{background:#0d2337;border-color:#193852}
.theme-dark .calendar53-day.outside{background:#0a1d2e}
.theme-dark .calendar53-day.today{background:#102d47}
.theme-dark .calendar53-agenda-item strong,.theme-dark .calendar53-upcoming strong,.theme-dark .calendar53-side-head strong{color:#eef6fc}
.theme-dark .calendar53-empty-side{background:#10283e;color:#a8bbcc}
.theme-dark .calendar53-attendees{border-color:#24445f}
.theme-dark .calendar53-attendees label{background:#10283e;border-color:#24445f;color:#d7e5ef}

/* Blue theme */
body.theme-blue .calendar53-header p{color:#c6e2f4!important}
body.theme-blue .calendar53-month-title{color:#fff}
body.theme-blue .calendar53-nav-btn,
body.theme-blue .calendar53-scope-tabs{background:rgba(4,65,115,.42)!important;border-color:rgba(220,243,255,.2)!important;color:#fff}
body.theme-blue .calendar53-scope-tabs a{color:#d5eafa}
body.theme-blue .calendar53-scope-tabs a.active{background:rgba(255,255,255,.17);color:#fff}
body.theme-blue .calendar53-calendar,
body.theme-blue .calendar53-side-card{background:rgba(4,65,115,.42)!important;border-color:rgba(220,243,255,.18)!important}
body.theme-blue .calendar53-weekdays{background:rgba(2,55,99,.32)!important;border-color:rgba(220,243,255,.15)!important}
body.theme-blue .calendar53-weekdays>div{color:#c9e3f4}
body.theme-blue .calendar53-day{background:rgba(4,65,115,.22)!important;border-color:rgba(220,243,255,.12)!important}
body.theme-blue .calendar53-day.outside{background:rgba(2,51,92,.19)!important}
body.theme-blue .calendar53-day-number{color:#edf8ff}
body.theme-blue .calendar53-day.today{background:rgba(255,255,255,.09)!important}
body.theme-blue .calendar53-side-head small,
body.theme-blue .calendar53-agenda-item small,
body.theme-blue .calendar53-upcoming small{color:#c3dff1}
body.theme-blue .calendar53-side-head strong,
body.theme-blue .calendar53-agenda-item strong,
body.theme-blue .calendar53-upcoming strong{color:#fff}
body.theme-blue .calendar53-empty-side{background:rgba(255,255,255,.08);color:#d5eafa}

@media(max-width:1180px){
  .calendar53-layout{grid-template-columns:minmax(0,1fr) 270px}
  .calendar53-day{min-height:116px}
}
@media(max-width:900px){
  .calendar53-layout{grid-template-columns:1fr}
  .calendar53-side{grid-template-columns:1fr 1fr}
  .calendar53-calendar{overflow-x:auto}
  .calendar53-weekdays,.calendar53-grid{min-width:760px}
}
@media(max-width:620px){
  .calendar53-header{align-items:flex-start;flex-direction:column}
  .calendar53-header .primary-btn{width:100%}
  .calendar53-toolbar{align-items:stretch}
  .calendar53-nav{width:100%}
  .calendar53-month-title{width:100%;margin:4px 0 0}
  .calendar53-scope-tabs{width:100%}
  .calendar53-scope-tabs a{flex:1;text-align:center}
  .calendar53-side{grid-template-columns:1fr}
  .calendar53-form-grid{grid-template-columns:1fr}
  .calendar53-span-2{grid-column:auto}
  .calendar53-check{padding-top:0}
}


/* =========================================================
   V40.54 – Settings / Navigation & Favoriten redesign
   ========================================================= */
.favorite-settings-form{
  display:grid;
  gap:14px;
}
.favorite-module-grid-v4054{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.favorite-module-grid-v4054 .favorite-module-option{
  position:relative!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) 36px!important;
  align-items:center!important;
  gap:12px!important;
  min-height:76px!important;
  padding:13px 14px!important;
  margin:0!important;
  border:1px solid rgba(127,127,127,.17)!important;
  border-radius:15px!important;
  background:rgba(127,127,127,.025)!important;
  box-shadow:none!important;
  overflow:hidden!important;
  cursor:pointer!important;
  transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .1s ease!important;
}
.favorite-module-grid-v4054 .favorite-module-option:hover{
  border-color:rgba(8,119,213,.28)!important;
  background:rgba(8,119,213,.035)!important;
  box-shadow:0 5px 18px rgba(30,70,105,.06)!important;
}
.favorite-module-grid-v4054 .favorite-module-option:active{
  transform:translateY(1px);
}
.favorite-module-grid-v4054 .favorite-module-option:has(input[type="checkbox"]:checked){
  border-color:rgba(241,169,32,.42)!important;
  background:linear-gradient(135deg,rgba(255,190,59,.075),rgba(255,255,255,.02))!important;
}

/* Isolate the hidden selection input from the app-wide checkbox skin. */
.favorite-module-grid-v4054 .favorite-module-option>input[type="checkbox"]{
  position:absolute!important;
  inset:auto!important;
  left:1px!important;
  top:1px!important;
  width:1px!important;
  min-width:0!important;
  max-width:1px!important;
  height:1px!important;
  min-height:0!important;
  max-height:1px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:0!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  pointer-events:none!important;
}

.favorite-module-grid-v4054 .favorite-module-icon{
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:13px!important;
  background:rgba(8,119,213,.055)!important;
}
.favorite-module-grid-v4054 .favorite-module-icon .settings-card-img{
  width:40px!important;
  height:40px!important;
}
.favorite-module-grid-v4054 .favorite-module-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:3px!important;
  min-width:0!important;
  overflow:visible!important;
}
.favorite-module-grid-v4054 .favorite-module-copy strong{
  display:block!important;
  min-width:0!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  color:inherit!important;
  font-size:.9rem!important;
  font-weight:800!important;
  line-height:1.25!important;
}
.favorite-module-grid-v4054 .favorite-module-copy small{
  display:block!important;
  margin:0!important;
  color:#8a9bad!important;
  opacity:1!important;
  font-size:.78rem!important;
  line-height:1.3!important;
}
.favorite-module-grid-v4054 .favorite-state-on{display:none}
.favorite-module-grid-v4054 input[type="checkbox"]:checked ~ .favorite-module-copy .favorite-state-off{display:none}
.favorite-module-grid-v4054 input[type="checkbox"]:checked ~ .favorite-module-copy .favorite-state-on{display:inline;color:#b97800;font-weight:700}

.favorite-module-grid-v4054 .favorite-module-star{
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  align-self:center!important;
  justify-self:end!important;
  border-radius:10px!important;
  background:rgba(243,173,39,.07)!important;
  color:#eba515!important;
  font-size:1.35rem!important;
  line-height:1!important;
}
.favorite-module-grid-v4054 .favorite-module-star::before{
  content:"☆";
}
.favorite-module-grid-v4054 input[type="checkbox"]:checked ~ .favorite-module-star{
  background:rgba(243,173,39,.13)!important;
  color:#e9a00b!important;
}
.favorite-module-grid-v4054 input[type="checkbox"]:checked ~ .favorite-module-star::before{
  content:"★";
}

.favorite-settings-form .settings-hint{
  margin-top:0!important;
  font-size:.78rem!important;
  line-height:1.5!important;
}
.favorite-settings-form .form-actions{
  margin-top:0!important;
}

/* Dark and blue themes */
.theme-dark .favorite-module-grid-v4054 .favorite-module-option{
  background:rgba(255,255,255,.025)!important;
  border-color:rgba(220,243,255,.13)!important;
}
.theme-dark .favorite-module-grid-v4054 .favorite-module-option:hover{
  background:rgba(80,170,255,.07)!important;
  border-color:rgba(80,170,255,.28)!important;
}
.theme-dark .favorite-module-grid-v4054 .favorite-module-option:has(input[type="checkbox"]:checked){
  background:rgba(243,173,39,.075)!important;
  border-color:rgba(243,173,39,.34)!important;
}
.theme-dark .favorite-module-grid-v4054 .favorite-module-copy small{color:#9eb1c2!important}

body.theme-blue .favorite-module-grid-v4054 .favorite-module-option{
  background:rgba(4,65,115,.34)!important;
  border-color:rgba(220,243,255,.18)!important;
}
body.theme-blue .favorite-module-grid-v4054 .favorite-module-option:hover{
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(230,248,255,.28)!important;
}
body.theme-blue .favorite-module-grid-v4054 .favorite-module-option:has(input[type="checkbox"]:checked){
  background:rgba(243,173,39,.11)!important;
  border-color:rgba(255,205,108,.38)!important;
}
body.theme-blue .favorite-module-grid-v4054 .favorite-module-copy strong{color:#fff!important}
body.theme-blue .favorite-module-grid-v4054 .favorite-module-copy small{color:#c9e3f4!important}
body.theme-blue .favorite-module-grid-v4054 input[type="checkbox"]:checked ~ .favorite-module-copy .favorite-state-on{color:#ffe1a1!important}

@media(max-width:760px){
  .favorite-module-grid-v4054{grid-template-columns:1fr!important}
  .favorite-module-grid-v4054 .favorite-module-option{
    grid-template-columns:44px minmax(0,1fr) 34px!important;
    min-height:70px!important;
    padding:11px 12px!important;
  }
  .favorite-module-grid-v4054 .favorite-module-icon{width:44px!important;height:44px!important}
  .favorite-module-grid-v4054 .favorite-module-icon .settings-card-img{width:36px!important;height:36px!important}
}


/* =========================================================
   V40.56 – Dashboard Kalender Widget
   ========================================================= */
.calendar-widget-list{display:grid;gap:5px}
.calendar-widget-row{grid-template-columns:46px minmax(0,1fr) auto!important}
.calendar-widget-date{
  width:42px;height:42px;display:grid;place-items:center;align-content:center;
  border-radius:10px;background:rgba(41,151,255,.10);color:#1688ff;line-height:1
}
.calendar-widget-date b{font-size:.9rem}
.calendar-widget-date small{font-size:.62rem!important;margin-top:3px!important;color:inherit!important;font-weight:800;letter-spacing:.04em}
.dashboard-widget.size-small .calendar-widget-row:nth-child(n+4){display:none}
.dashboard-widget.size-medium .calendar-widget-row:nth-child(n+6){display:none}
.dashboard-widget.size-large .calendar-widget-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.theme-dark .calendar-widget-date{background:rgba(41,151,255,.12);color:#72baff}
body.theme-blue .calendar-widget-date{background:rgba(255,255,255,.13);color:#fff}


/* =========================================================
   V40.57 – CalDAV device setup
   ========================================================= */
.calendar-sync-card{overflow:hidden}
.calendar-sync-grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px;margin-bottom:14px
}
.calendar-sync-info,.calendar-sync-howto{
  padding:14px;border:1px solid rgba(127,151,176,.14);border-radius:13px;background:rgba(127,151,176,.04)
}
.calendar-sync-info{display:grid;gap:10px}
.calendar-sync-info>div{display:grid;gap:3px}
.calendar-sync-info small,.calendar-password-once small{
  font-size:.68rem;font-weight:850;letter-spacing:.08em;color:var(--muted,#8397aa)
}
.calendar-sync-info strong{font-size:.8rem;overflow-wrap:anywhere}
.calendar-sync-howto>strong{display:block;margin-bottom:7px}
.calendar-sync-howto ol{margin:0 0 8px 18px;padding:0;color:var(--muted,#8397aa);font-size:.78rem;line-height:1.65}
.calendar-sync-howto small{display:block;color:var(--muted,#8397aa);font-size:.74rem;line-height:1.5}
.calendar-password-once{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin:12px 0;padding:14px;border:1px solid rgba(243,173,39,.30);border-radius:13px;
  background:rgba(243,173,39,.08)
}
.calendar-password-once>div{display:grid;gap:3px;min-width:0}
.calendar-password-once strong{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;
  font-size:1rem;letter-spacing:.04em;overflow-wrap:anywhere;color:#b97800
}
.calendar-password-once span{font-size:.74rem;color:var(--muted,#8397aa)}
.calendar-app-password-create{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:10px!important;align-items:end;
  padding:14px;border:1px solid rgba(127,151,176,.14);border-radius:13px;background:rgba(127,151,176,.025)
}
.calendar-app-password-create label{display:grid;gap:6px;font-size:.78rem;font-weight:750}
.calendar-app-password-list{margin-top:14px}
.calendar-app-password-list .side-panel-head{margin-bottom:7px}
.calendar-app-password-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px;
  border-top:1px solid rgba(127,151,176,.12)
}
.calendar-app-password-row>div{display:grid;gap:2px;min-width:0}
.calendar-app-password-row strong{font-size:.8rem}
.calendar-app-password-row small{font-size:.72rem;color:var(--muted,#8397aa)}
.calendar-app-password-row form{margin:0}
.calendar-app-password-row .danger-btn{margin:0!important}
.theme-dark .calendar-sync-info,.theme-dark .calendar-sync-howto,.theme-dark .calendar-app-password-create{
  background:#10283e;border-color:#24445f
}
body.theme-blue .calendar-sync-info,body.theme-blue .calendar-sync-howto,body.theme-blue .calendar-app-password-create{
  background:rgba(4,65,115,.34);border-color:rgba(220,243,255,.18)
}
body.theme-blue .calendar-sync-info small,body.theme-blue .calendar-sync-howto ol,body.theme-blue .calendar-sync-howto small,
body.theme-blue .calendar-app-password-row small{color:#c9e3f4}
@media(max-width:760px){
  .calendar-sync-grid{grid-template-columns:1fr}
  .calendar-app-password-create{grid-template-columns:1fr}
  .calendar-app-password-create button{width:100%}
  .calendar-password-once,.calendar-app-password-row{align-items:stretch;flex-direction:column}
  .calendar-app-password-row form,.calendar-app-password-row button{width:100%}
}

.calendar53-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.calendar53-head-actions a{text-decoration:none}@media(max-width:620px){.calendar53-head-actions{width:100%}.calendar53-head-actions>*{flex:1;text-align:center}}


/* =========================================================
   V40.59 – CalDAV inbound diagnostics
   ========================================================= */
.caldav-diagnostics{margin-top:16px;padding:12px 14px;border:1px solid rgba(127,151,176,.14);border-radius:13px;background:rgba(127,151,176,.025)}
.caldav-diagnostics summary{cursor:pointer;font-weight:800;font-size:.8rem}
.caldav-diagnostics>p{margin:10px 0;color:var(--muted,#8397aa);font-size:.74rem;line-height:1.55}
.caldav-log-list{display:grid;gap:5px}
.caldav-log-row{display:grid;grid-template-columns:62px minmax(0,1fr);gap:9px;align-items:center;padding:8px 0;border-top:1px solid rgba(127,151,176,.10)}
.caldav-method{display:grid;place-items:center;min-height:28px;padding:0 7px;border-radius:8px;background:rgba(41,151,255,.10);color:#1688ff;font-size:.68rem;font-weight:850;letter-spacing:.04em}
.caldav-log-row>div{min-width:0;display:grid;gap:2px}.caldav-log-row strong{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.caldav-log-row small{font-size:.68rem;color:var(--muted,#8397aa);overflow-wrap:anywhere}
.theme-dark .caldav-diagnostics{background:#10283e;border-color:#24445f}
body.theme-blue .caldav-diagnostics{background:rgba(4,65,115,.34);border-color:rgba(220,243,255,.18)}
@media(max-width:620px){.caldav-log-row{grid-template-columns:54px minmax(0,1fr)}}


/* =========================================================
   V40.61 – Multiple personal calendars
   ========================================================= */
.calendar61-collections{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:10px 0 14px;padding:10px 12px;border:1px solid rgba(127,151,176,.13);
  border-radius:14px;background:rgba(127,151,176,.035)
}
.calendar61-pills{display:flex;gap:7px;align-items:center;flex-wrap:wrap;min-width:0}
.calendar61-pill{
  display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;
  text-decoration:none;border:1px solid rgba(127,151,176,.13);font-size:.76rem;font-weight:750;
  color:inherit;background:rgba(255,255,255,.38)
}
.calendar61-pill:hover,.calendar61-pill.active{border-color:rgba(41,151,255,.34);background:rgba(41,151,255,.09)}
.calendar61-dot{width:9px;height:9px;border-radius:50%;flex:0 0 9px;display:inline-block}
.calendar61-dot.color-blue{background:#2997ff}.calendar61-dot.color-green{background:#38b778}
.calendar61-dot.color-orange{background:#ff9f0a}.calendar61-dot.color-red{background:#ff453a}
.calendar61-dot.color-purple{background:#bf5af2}.calendar61-dot.color-pink{background:#ff375f}
.calendar61-dot.color-teal{background:#30b0c7}.calendar61-dot.color-gray{background:#8e8e93}
.calendar61-manage-btn{white-space:nowrap}
.calendar61-manage-modal{width:min(760px,calc(100vw - 28px))}
.calendar61-create-form{
  display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:10px;align-items:end;
  padding:12px;border:1px solid rgba(127,151,176,.13);border-radius:13px;background:rgba(127,151,176,.03)
}
.calendar61-create-form label{display:grid;gap:6px;font-size:.76rem;font-weight:750}
.calendar61-manage-list{display:grid;gap:8px;margin-top:14px}
.calendar61-manage-row{
  display:flex;align-items:center;gap:8px;padding:10px 0;border-top:1px solid rgba(127,151,176,.10)
}
.calendar61-rename-form{display:grid;grid-template-columns:14px minmax(0,1fr) 135px auto;gap:8px;align-items:center;flex:1}
.calendar61-manage-row>form:last-child{margin:0}
.calendar61-default-badge{font-size:.68rem;font-weight:800;padding:5px 8px;border-radius:999px;background:rgba(41,151,255,.10);color:#1688ff}
.calendar61-sync-note{margin:13px 0 0;color:var(--muted,#8397aa);font-size:.72rem;line-height:1.5}
.theme-dark .calendar61-collections,.theme-dark .calendar61-create-form{background:#10283e;border-color:#24445f}
body.theme-blue .calendar61-collections,body.theme-blue .calendar61-create-form{background:rgba(4,65,115,.34);border-color:rgba(220,243,255,.18)}
body.theme-blue .calendar61-pill{background:rgba(255,255,255,.06);border-color:rgba(220,243,255,.16)}
@media(max-width:760px){
  .calendar61-collections{align-items:stretch;flex-direction:column}
  .calendar61-manage-btn{width:100%}
  .calendar61-create-form{grid-template-columns:1fr}
  .calendar61-create-form button{width:100%}
  .calendar61-manage-row{align-items:stretch;flex-direction:column}
  .calendar61-rename-form{width:100%;grid-template-columns:14px minmax(0,1fr)}
  .calendar61-rename-form select,.calendar61-rename-form button{grid-column:2}
  .calendar61-manage-row>form:last-child,.calendar61-manage-row>form:last-child button{width:100%}
}


/* =========================================================
   V40.62 – Calendar sharing
   ========================================================= */
.calendar62-collections{align-items:flex-start}
.calendar62-collection-groups{display:grid;gap:9px;min-width:0;flex:1}
.calendar62-group{display:grid;gap:5px}
.calendar62-group>small{
  font-size:.63rem;font-weight:850;letter-spacing:.08em;color:var(--muted,#8397aa);
  padding-left:2px
}
.calendar62-shared-pill{max-width:280px}
.calendar62-shared-pill>span:nth-child(2){max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar62-shared-pill>small{
  font-size:.62rem;font-weight:650;color:var(--muted,#8397aa);white-space:nowrap
}
.calendar62-manage-calendar{
  border-top:1px solid rgba(127,151,176,.10);
  padding-top:8px
}
.calendar62-manage-calendar:first-child{border-top:0;padding-top:0}
.calendar62-manage-calendar .calendar61-manage-row{border-top:0;padding-bottom:7px}
.calendar62-share-box{
  margin:0 0 8px 22px;border:1px solid rgba(127,151,176,.12);
  border-radius:11px;background:rgba(127,151,176,.025);overflow:hidden
}
.calendar62-share-box>summary{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 11px;cursor:pointer;list-style:none;font-size:.74rem;font-weight:800
}
.calendar62-share-box>summary::-webkit-details-marker{display:none}
.calendar62-share-box>summary:before{
  content:'›';font-size:1rem;line-height:1;transition:transform .15s ease
}
.calendar62-share-box[open]>summary:before{transform:rotate(90deg)}
.calendar62-share-box>summary>span{margin-right:auto}
.calendar62-share-box>summary>small{font-size:.65rem;font-weight:700;color:var(--muted,#8397aa)}
.calendar62-share-form{padding:0 10px 10px}
.calendar62-share-member{
  display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:10px;align-items:center;
  padding:8px 0;border-top:1px solid rgba(127,151,176,.09)
}
.calendar62-share-person{display:flex;align-items:center;gap:8px;min-width:0}
.calendar62-share-person>span:last-child{display:grid;gap:1px;min-width:0}
.calendar62-share-person strong{font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar62-share-person small{font-size:.65rem;color:var(--muted,#8397aa);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar62-share-member select{min-width:0;width:100%}
.calendar62-share-actions{display:flex;justify-content:flex-end;padding-top:9px}
.theme-dark .calendar62-share-box{background:#10283e;border-color:#24445f}
body.theme-blue .calendar62-share-box{background:rgba(4,65,115,.28);border-color:rgba(220,243,255,.15)}
body.theme-blue .calendar62-group>small,body.theme-blue .calendar62-shared-pill>small,
body.theme-blue .calendar62-share-box>summary>small,body.theme-blue .calendar62-share-person small{color:#c9e3f4}
@media(max-width:760px){
  .calendar62-shared-pill{max-width:100%}
  .calendar62-share-box{margin-left:0}
  .calendar62-share-member{grid-template-columns:1fr}
  .calendar62-share-actions button{width:100%}
}


/* =========================================================
   V40.63 – Notes polish: mobile images, checklists, folders,
   callouts, pane controls and advanced links
   ========================================================= */

/* Pane-specific collapse controls live in the panes themselves. */
.notes63-pane-heading{
  display:flex;align-items:center;justify-content:space-between;gap:6px;
  margin:12px 4px 5px
}
.notes63-pane-heading .nav-label{margin:0 4px!important}
.notes63-collapse-btn{
  flex:0 0 27px;width:27px;height:27px;display:grid;place-items:center;
  border:1px solid rgba(127,151,176,.16);border-radius:8px;
  background:rgba(127,151,176,.07);color:inherit;cursor:pointer;
  font:800 18px/1 Manrope,sans-serif;padding:0
}
.notes63-collapse-btn:hover{background:rgba(8,119,213,.11);color:#0877d5}
.notes32-list-head{align-items:center;gap:7px}
.notes32-list-head .notes63-collapse-btn{margin-right:2px}
.notes32-list-head strong{margin-right:auto}

/* Keep a small visible rail so each pane can reopen itself. */
.notes32-workspace.notes47-nav-collapsed{
  grid-template-columns:38px 300px minmax(0,1fr)!important;
}
.notes32-workspace.notes47-list-collapsed{
  grid-template-columns:210px 38px minmax(0,1fr)!important;
}
.notes32-workspace.notes47-nav-collapsed.notes47-list-collapsed{
  grid-template-columns:38px 38px minmax(0,1fr)!important;
}
.notes47-nav-collapsed .notes32-nav{
  display:block!important;overflow:hidden!important;padding:8px 5px!important
}
.notes47-nav-collapsed .notes32-nav>:not(.notes63-pane-heading){display:none!important}
.notes47-nav-collapsed .notes63-pane-heading{margin:0!important;display:flex!important;justify-content:center}
.notes47-nav-collapsed .notes63-pane-heading .nav-label{display:none!important}
.notes47-list-collapsed .notes32-list{display:block!important;overflow:hidden!important}
.notes47-list-collapsed .notes32-list>:not(.notes32-list-head){display:none!important}
.notes47-list-collapsed .notes32-list-head{
  padding:8px 5px!important;justify-content:center;border-bottom:0!important;
  background:transparent!important;min-height:42px
}
.notes47-list-collapsed .notes32-list-head strong,
.notes47-list-collapsed .notes32-list-head span{display:none!important}

/* Folder rows and inline management. */
.notes63-folder-row{
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) 25px;
  gap:2px;align-items:center;padding-left:calc(var(--folder-depth,0) * 13px)
}
.notes63-folder-row>a{min-width:0}
.notes63-folder-row>a>span:last-child{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.notes63-folder-menu{position:relative}
.notes63-folder-menu>summary{
  list-style:none;width:25px;height:25px;display:grid;place-items:center;
  border-radius:7px;color:#8799aa;cursor:pointer;font-size:.72rem;font-weight:900
}
.notes63-folder-menu>summary::-webkit-details-marker{display:none}
.notes63-folder-menu>summary:hover{background:rgba(8,119,213,.09);color:#0877d5}
.notes63-folder-menu>div{
  position:absolute;z-index:50;top:28px;right:0;width:220px;padding:9px;
  border:1px solid #dce6ee;border-radius:11px;background:#fff;
  box-shadow:0 14px 35px rgba(22,47,70,.16)
}
.notes63-folder-menu form{display:grid;gap:6px;margin:0}
.notes63-folder-menu form+form{margin-top:7px;padding-top:7px;border-top:1px solid #edf2f6}
.notes63-folder-menu input{
  width:100%;min-width:0;padding:7px 8px;border:1px solid #dbe5ed;
  border-radius:8px;background:#fff;color:inherit;font:inherit;font-size:.74rem
}
.notes63-folder-menu button{
  border:0;border-radius:8px;padding:7px 8px;background:#0a84ff;color:#fff;
  font:750 .72rem Manrope,sans-serif;cursor:pointer
}
.notes63-folder-menu button.danger{background:rgba(255,69,58,.1);color:#d73c3c}

/* Real interactive checklist blocks. */
.notes32-canvas .note-checklist{
  list-style:none!important;margin:12px 0!important;padding:0!important;
  display:grid;gap:6px
}
.notes32-canvas .note-checklist li{
  display:grid;grid-template-columns:24px minmax(0,1fr);gap:7px;
  align-items:start;min-width:0
}
.notes32-canvas .note-check-toggle{
  display:grid;place-items:center;width:24px;height:24px;border-radius:7px;
  cursor:pointer;color:#0877d5;font-size:1rem;line-height:1;
  user-select:none;-webkit-user-select:none
}
.notes32-canvas .note-check-toggle:hover{background:rgba(8,119,213,.09)}
.notes32-canvas .note-check-text{min-width:0;overflow-wrap:anywhere;line-height:1.55}
.notes32-canvas .note-checklist li.checked .note-check-text{
  color:#8b9aa8;text-decoration:line-through
}

/* Callout dropdown inserts immediately; compact enough for the toolbar. */
.notes63-callout-select{
  width:86px!important;max-width:86px!important;min-width:86px!important;
  font-size:.72rem!important;padding:0 5px!important
}
.notes32-canvas .note-callout{
  width:100%;max-width:100%;box-sizing:border-box;overflow:hidden
}
.notes32-canvas .note-callout-content,
.notes32-canvas .note-callout-text{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.notes32-canvas .note-callout-text{margin:3px 0 0;line-height:1.55}
.notes32-canvas .note-callout-content>strong{white-space:normal}

/* Advanced external link dialog. */
.notes63-link-modal{width:min(560px,calc(100vw - 28px))}
.notes63-link-fields{display:grid;gap:11px}
.notes63-link-fields>label{display:grid;gap:6px;font-size:.76rem;font-weight:750}
.notes63-link-fields input[type=text],
.notes63-link-fields input[type=url],
.notes63-link-fields input:not([type]){
  width:100%;min-height:42px;padding:9px 10px;border:1px solid var(--fc-control-border,#d8e3ec);
  border-radius:10px;background:var(--fc-control-bg,#fff);color:inherit;font:inherit
}
.notes63-link-checkbox{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important}
.notes63-link-checkbox input{width:17px!important;height:17px!important;min-height:0!important}
.notes32-canvas a.note-external-link{color:#0877d5;text-decoration:underline;text-underline-offset:2px}

/* Mobile image QR dialog reuses the established cards/IDs workflow. */
.notes63-mobile-image-modal{width:min(560px,calc(100vw - 28px))}
#mobileImageBtn{white-space:nowrap}

/* Dark/blue variants for new notes controls. */
.theme-dark .notes63-folder-menu>div{background:#10283e;border-color:#24445f}
.theme-dark .notes63-folder-menu input{background:#0d2235;border-color:#294a65;color:#eef6ff}
.theme-dark .notes63-collapse-btn{border-color:#294a65;background:rgba(255,255,255,.04)}
body.theme-blue .notes63-folder-menu>div{background:#0d426d;border-color:rgba(220,243,255,.18)}
body.theme-blue .notes63-folder-menu input{background:#0b365a;border-color:rgba(220,243,255,.18);color:#eff9ff}
body.theme-blue .notes63-collapse-btn{border-color:rgba(220,243,255,.17);background:rgba(255,255,255,.05)}

@media(max-width:820px){
  .notes32-workspace.notes47-nav-collapsed{grid-template-columns:38px 260px minmax(0,1fr)!important}
  .notes32-workspace.notes47-list-collapsed{grid-template-columns:190px 38px minmax(0,1fr)!important}
  .notes32-workspace.notes47-nav-collapsed.notes47-list-collapsed{grid-template-columns:38px 38px minmax(0,1fr)!important}
}


/* =========================================================
   V40.64 – Rich To-dos: checklist, link, files and mobile QR
   ========================================================= */
.todo64-link{display:flex;align-items:center;gap:7px;margin:8px 0;font-size:.78rem}
.todo64-link a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0877d5;text-decoration:underline;text-underline-offset:2px}
.todo64-checklist,.todo64-files{margin:9px 0;border:1px solid rgba(127,151,176,.13);border-radius:11px;background:rgba(127,151,176,.025);overflow:hidden}
.todo64-checklist>summary,.todo64-files>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;cursor:pointer;list-style:none;font-size:.74rem;font-weight:800}
.todo64-checklist>summary::-webkit-details-marker,.todo64-files>summary::-webkit-details-marker{display:none}
.todo64-checklist>summary small{font-size:.68rem;color:#8496a7}
.todo64-checklist-items,.todo64-file-list{padding:0 9px 8px}
.todo64-check-item{display:grid;grid-template-columns:25px minmax(0,1fr);gap:7px;align-items:start;padding:6px 0;border-top:1px solid rgba(127,151,176,.09)}
.todo64-check-item button{width:24px;height:24px;border:0;border-radius:7px;background:transparent;color:#0877d5;cursor:pointer;font-size:1rem;padding:0}
.todo64-check-item span{font-size:.75rem;line-height:1.5;overflow-wrap:anywhere}
.todo64-check-item.done span{text-decoration:line-through;color:#8b9aa8}
.todo64-file-row{display:grid;grid-template-columns:minmax(0,1fr) 26px;gap:8px;align-items:center;padding:6px 0;border-top:1px solid rgba(127,151,176,.09)}
.todo64-file-row>a{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;align-items:center;min-width:0;text-decoration:none;color:inherit}
.todo64-file-row img{width:42px;height:34px;object-fit:cover;border-radius:7px;background:rgba(127,151,176,.08)}
.todo64-file-icon{width:42px;height:34px;display:grid;place-items:center;border-radius:7px;background:rgba(22,136,255,.08)}
.todo64-file-row>a>span:last-child{display:grid;min-width:0}
.todo64-file-row strong{font-size:.73rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.todo64-file-row small{font-size:.64rem;color:#8a9aa8}
.todo64-file-row form{margin:0}.todo64-file-row form button{width:26px;height:26px;border:0;border-radius:7px;background:rgba(255,69,58,.08);color:#d94848;cursor:pointer}

.todo64-form-section{padding:11px;border:1px solid rgba(127,151,176,.14);border-radius:13px;background:rgba(127,151,176,.025)}
.todo64-form-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.todo64-form-section-head>div{display:grid;gap:2px}.todo64-form-section-head strong{font-size:.78rem}.todo64-form-section-head small{font-size:.68rem;color:#8395a7}
.todo64-checklist-editor{display:grid;gap:7px}
.todo64-check-edit-row{display:grid;grid-template-columns:24px 32px minmax(0,1fr) 28px;gap:6px;align-items:center}
.todo64-check-edit-row>input[type=hidden]{display:none}
.todo64-check-preview{width:24px;text-align:center;color:#0877d5}
.todo64-check-edit-row input[name="checklist_text[]"]{width:100%;min-width:0}
.todo64-remove-check{width:28px;height:28px;border:0;border-radius:8px;background:rgba(255,69,58,.08);color:#d94848;cursor:pointer}
.todo64-link-grid{display:grid;grid-template-columns:180px minmax(0,1fr);gap:9px}
.todo64-newtab{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important;margin-top:8px}
.todo64-newtab input{width:17px!important;height:17px!important;min-height:0!important}
.todo64-file-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:end}
.todo64-upload-field{display:grid;gap:5px;font-size:.72rem;font-weight:750}
.todo64-upload-field input{min-width:0}
.todo64-mobile-state{font-size:.7rem;color:#8192a3;margin-top:7px}.todo64-mobile-state.ready{color:#2e9c61;font-weight:750}
.todo64-selected-existing{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.todo64-selected-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:rgba(22,136,255,.08);color:#287bbd;font-size:.68rem;font-weight:750}
.todo64-existing-modal{width:min(720px,calc(100vw - 28px))}
.todo64-existing-toolbar{display:grid;gap:5px}.todo64-existing-toolbar input{width:100%}.todo64-existing-toolbar small{font-size:.68rem;color:#8395a7}
.todo64-existing-list{display:grid;gap:5px;max-height:52vh;overflow:auto;margin-top:10px}
.todo64-existing-row{display:grid;grid-template-columns:22px 48px minmax(0,1fr);gap:8px;align-items:center;padding:7px 8px;border:1px solid rgba(127,151,176,.12);border-radius:10px;cursor:pointer}
.todo64-existing-row:hover{background:rgba(22,136,255,.05)}
.todo64-existing-row img{width:48px;height:38px;object-fit:cover;border-radius:7px}
.todo64-existing-icon{width:48px;height:38px;display:grid;place-items:center;border-radius:7px;background:rgba(22,136,255,.08)}
.todo64-existing-row>span:last-child{display:grid;min-width:0}.todo64-existing-row strong{font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.todo64-existing-row small{font-size:.64rem;color:#8395a7}
.todo64-existing-empty{text-align:center;padding:25px;color:#8293a4;font-size:.74rem}
.theme-dark .todo64-checklist,.theme-dark .todo64-files,.theme-dark .todo64-form-section{background:#10283e;border-color:#24445f}
body.theme-blue .todo64-checklist,body.theme-blue .todo64-files,body.theme-blue .todo64-form-section{background:rgba(4,65,115,.28);border-color:rgba(220,243,255,.15)}
@media(max-width:700px){
  .todo64-link-grid,.todo64-file-actions{grid-template-columns:1fr}
  .todo64-form-section-head{align-items:flex-start}
  .todo64-form-section-head .secondary-btn{white-space:nowrap}
}


/* V40.65 – To-do checklist editor: full-width text field */
.todo64-check-edit-row{
  grid-template-columns:24px minmax(0,1fr) 32px !important;
  width:100%;
}
.todo64-check-edit-row>input[type="hidden"]{display:none!important}
.todo64-check-edit-row .todo64-check-preview{width:24px}
.todo64-check-edit-row input[name="checklist_text[]"]{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
.todo64-check-edit-row .todo64-remove-check{width:32px}


/* =========================================================
   V40.66 – Multiple links per To-do
   ========================================================= */
.todo66-links{
  display:grid;
  gap:5px;
  margin:8px 0;
}
.todo66-links .todo64-link{
  margin:0;
}
.todo66-links-editor{
  display:grid;
  gap:9px;
}
.todo66-link-edit-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
  padding:10px;
  border:1px solid rgba(127,151,176,.12);
  border-radius:11px;
  background:rgba(127,151,176,.025);
}
.todo66-link-fields{
  display:grid;
  grid-template-columns:minmax(140px,.7fr) minmax(220px,1.3fr);
  gap:8px;
  min-width:0;
}
.todo66-link-fields label{
  display:grid;
  gap:5px;
  min-width:0;
  font-size:.72rem;
  font-weight:750;
}
.todo66-link-fields input{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.todo66-link-options{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:40px;
}
.todo66-link-options>.todo64-newtab{
  margin:0;
  white-space:nowrap;
}
.todo66-remove-link{
  flex:0 0 32px;
}
.theme-dark .todo66-link-edit-row{
  background:#0d2235;
  border-color:#24445f;
}
body.theme-blue .todo66-link-edit-row{
  background:rgba(4,65,115,.22);
  border-color:rgba(220,243,255,.14);
}
@media(max-width:760px){
  .todo66-link-edit-row{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .todo66-link-fields{
    grid-template-columns:1fr;
  }
  .todo66-link-options{
    justify-content:space-between;
  }
}

/* =========================================================
   V40.67 – To-do display density: compact / medium / detailed
   ========================================================= */
.todo-viewbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}
.todo-viewbar .todo-view-tabs{margin:0}
.todo67-density{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid rgba(127,151,176,.18);border-radius:10px;background:rgba(127,151,176,.035)}
.todo67-density button{width:34px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:#8194a6;cursor:pointer}
.todo67-density button:hover{background:rgba(8,119,213,.08);color:#2997ff}
.todo67-density button.active{background:#0877d5;color:#fff;box-shadow:0 2px 8px rgba(8,119,213,.22)}
.todo67-density-icon{width:17px;height:16px;display:grid;align-content:center;gap:2px}
.todo67-density-icon i{display:block;height:2px;border-radius:2px;background:currentColor}
.todo67-density-icon.compact{gap:1px}.todo67-density-icon.compact i{height:1.5px}
.todo67-density-icon.medium{gap:2.5px}.todo67-density-icon.medium i{height:2px}
.todo67-density-icon.detailed{gap:3px}.todo67-density-icon.detailed i{height:2.5px}
.todo67-compact-meta{display:none;align-items:center;gap:7px;flex-wrap:wrap;margin-top:5px;font-size:.7rem;color:#8da0b1}

/* Detailed is the existing rich card and remains the default. */
.todo-list.density-detailed .todo-card{padding:13px}

/* Medium keeps description and links, but collapses heavy content. */
.todo-list.density-medium .todo-card{padding:10px 12px;grid-template-columns:36px 1fr auto;gap:8px}
.todo-list.density-medium .todo-check{width:28px;height:28px;border-radius:9px}
.todo-list.density-medium .todo-card-content>p{margin:5px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.todo-list.density-medium .todo64-checklist,.todo-list.density-medium .todo64-files{margin:6px 0}
.todo-list.density-medium .todo64-checklist>summary,.todo-list.density-medium .todo64-files>summary{padding:6px 8px}
.todo-list.density-medium .todo64-checklist[open]>.todo64-checklist-items,.todo-list.density-medium .todo64-files[open]>.todo64-file-list{display:none}
.todo-list.density-medium .todo-meta{margin-top:6px}

/* Compact becomes a quick scanning list: title, due date and concise metadata only. */
.todo-list.density-compact{gap:5px}
.todo-list.density-compact .todo-card{padding:7px 9px;grid-template-columns:31px minmax(0,1fr) auto;gap:7px;border-radius:11px}
.todo-list.density-compact .todo-check{width:25px;height:25px;border-radius:8px}
.todo-list.density-compact .todo-title-line{gap:5px;min-height:25px}
.todo-list.density-compact .todo-title-line>strong{font-size:.78rem}
.todo-list.density-compact .todo-priority,.todo-list.density-compact .todo-due{font-size:.65rem;padding:3px 6px}
.todo-list.density-compact .todo-card-content>p,
.todo-list.density-compact .todo66-links,
.todo-list.density-compact .todo64-checklist,
.todo-list.density-compact .todo64-files,
.todo-list.density-compact .todo-meta{display:none!important}
.todo-list.density-compact .todo67-compact-meta{display:flex}
.todo-list.density-compact .todo-actions{align-items:center}
.todo-list.density-compact .todo-actions .icon-action{width:27px;height:27px;min-width:27px;padding:0}

.theme-dark .todo67-density{background:#0b2134;border-color:#1d405d}
.theme-dark .todo67-density button{color:#829aae}.theme-dark .todo67-density button.active{background:#0877d5;color:#fff}
body.theme-blue .todo67-density{background:rgba(4,65,115,.26);border-color:rgba(220,243,255,.14)}
@media(max-width:700px){
  .todo-viewbar{align-items:center}
  .todo67-density button{width:32px}
  .todo-list.density-compact .todo-card{grid-template-columns:30px minmax(0,1fr)}
  .todo-list.density-compact .todo-actions{grid-column:2;justify-content:flex-end}
}

/* V40.67 – To-do display density */
.todo-viewbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.todo-viewbar .todo-view-tabs{margin:0}
.todo67-density{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid rgba(127,151,176,.18);border-radius:10px;background:rgba(127,151,176,.035)}
.todo67-density button{width:34px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:#8194a6;cursor:pointer}.todo67-density button:hover{background:rgba(8,119,213,.08);color:#2997ff}.todo67-density button.active{background:#0877d5;color:#fff;box-shadow:0 2px 8px rgba(8,119,213,.22)}
.todo67-density-icon{width:17px;height:16px;display:grid;align-content:center;gap:2px}.todo67-density-icon i{display:block;height:2px;border-radius:2px;background:currentColor}.todo67-density-icon.compact{gap:1px}.todo67-density-icon.compact i{height:1.5px}.todo67-density-icon.medium{gap:2.5px}.todo67-density-icon.detailed{gap:3px}.todo67-density-icon.detailed i{height:2.5px}
.todo67-compact-meta{display:none;align-items:center;gap:7px;flex-wrap:wrap;margin-top:5px;font-size:.7rem;color:#8da0b1}
.todo-list.density-medium .todo-card{padding:10px 12px;grid-template-columns:36px 1fr auto;gap:8px}.todo-list.density-medium .todo-check{width:28px;height:28px;border-radius:9px}.todo-list.density-medium .todo-card-content>p{margin:5px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.todo-list.density-medium .todo64-checklist,.todo-list.density-medium .todo64-files{margin:6px 0}.todo-list.density-medium .todo64-checklist>summary,.todo-list.density-medium .todo64-files>summary{padding:6px 8px}.todo-list.density-medium .todo64-checklist[open]>.todo64-checklist-items,.todo-list.density-medium .todo64-files[open]>.todo64-file-list{display:none}.todo-list.density-medium .todo-meta{margin-top:6px}
.todo-list.density-compact{gap:5px}.todo-list.density-compact .todo-card{padding:7px 9px;grid-template-columns:31px minmax(0,1fr) auto;gap:7px;border-radius:11px}.todo-list.density-compact .todo-check{width:25px;height:25px;border-radius:8px}.todo-list.density-compact .todo-title-line{gap:5px;min-height:25px}.todo-list.density-compact .todo-title-line>strong{font-size:.78rem}.todo-list.density-compact .todo-priority,.todo-list.density-compact .todo-due{font-size:.65rem;padding:3px 6px}
.todo-list.density-compact .todo-card-content>p,.todo-list.density-compact .todo66-links,.todo-list.density-compact .todo64-checklist,.todo-list.density-compact .todo64-files,.todo-list.density-compact .todo-meta{display:none!important}.todo-list.density-compact .todo67-compact-meta{display:flex}.todo-list.density-compact .todo-actions{align-items:center}.todo-list.density-compact .todo-actions .icon-action{width:27px;height:27px;min-width:27px;padding:0}
.theme-dark .todo67-density{background:#0b2134;border-color:#1d405d}.theme-dark .todo67-density button{color:#829aae}.theme-dark .todo67-density button.active{background:#0877d5;color:#fff}body.theme-blue .todo67-density{background:rgba(4,65,115,.26);border-color:rgba(220,243,255,.14)}
@media(max-width:700px){.todo67-density button{width:32px}.todo-list.density-compact .todo-card{grid-template-columns:30px minmax(0,1fr)}.todo-list.density-compact .todo-actions{grid-column:2;justify-content:flex-end}}


/* V40.68 – To-do density control deduplication + functional fix */
.todo-viewbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.todo-viewbar>.todo-view-tabs{margin:0!important}
.todo-viewbar>.todo67-density{margin-left:auto!important;flex:0 0 auto!important}

/* Ensure the three modes visibly differ. */
#todoList.density-compact .todo-card-content>p,
#todoList.density-compact .todo66-links,
#todoList.density-compact .todo64-checklist,
#todoList.density-compact .todo64-files,
#todoList.density-compact .todo-meta{display:none!important}
#todoList.density-compact .todo67-compact-meta{display:flex!important}

#todoList.density-medium .todo67-compact-meta{display:none!important}
#todoList.density-medium .todo-card{padding:10px 12px!important}
#todoList.density-medium .todo-card-content>p{
  display:-webkit-box!important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden!important;
}
#todoList.density-medium .todo64-checklist[open]>.todo64-checklist-items,
#todoList.density-medium .todo64-files[open]>.todo64-file-list{display:none!important}

#todoList.density-detailed .todo67-compact-meta{display:none!important}
#todoList.density-detailed .todo-card{padding:13px!important}


/* =========================================================
   V40.70 – Search field polish
   1) To-do search icon/text spacing aligned with Notes
   2) Global header search: remove inner input frame
   ========================================================= */

/* To-dos: reserve a generous left gutter so the search icon can never overlap
   the placeholder/text, even after global input normalisation or browser zoom. */
body .todo-v13 .todo-search{
  position:relative!important;
}
body .todo-v13 .todo-search>span{
  position:absolute!important;
  left:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:4!important;
  pointer-events:none!important;
  width:20px!important;
  height:20px!important;
  display:grid!important;
  place-items:center!important;
  color:#7890a4!important;
  font-size:18px!important;
  line-height:1!important;
}
body .todo-v13 .todo-search input[name="q"]{
  width:100%!important;
  min-width:0!important;
  padding-left:58px!important;
  padding-right:12px!important;
  text-indent:0!important;
  box-sizing:border-box!important;
}

/* Global search: the form itself is the one and only visible search box.
   Any global input normalisation must not create a second inner frame. */
body .app-global-header .app-global-search{
  box-sizing:border-box!important;
}
body .app-global-header .app-global-search input[type="search"],
body .app-global-header .app-global-search input[name="q"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  background-image:none!important;
  color:#dbe8f3!important;
}
body .app-global-header .app-global-search input[type="search"]:focus,
body .app-global-header .app-global-search input[name="q"]:focus{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
body .app-global-header .app-global-search input[type="search"]::-webkit-search-decoration,
body .app-global-header .app-global-search input[type="search"]::-webkit-search-cancel-button,
body .app-global-header .app-global-search input[type="search"]::-webkit-search-results-button,
body .app-global-header .app-global-search input[type="search"]::-webkit-search-results-decoration{
  -webkit-appearance:none!important;
}


/* =========================================================
   V40.71 – Search hard fix
   Inline !important is used on the actual inputs because the
   global form normalizer has unusually high selector specificity.
   ========================================================= */

/* To-do search: identical geometry to Notes search. */
body .todo-v13 .todo-search{
  position:relative!important;
}
body .todo-v13 .todo-search .todo71-search-icon{
  position:absolute!important;
  left:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:5!important;
  pointer-events:none!important;
  width:20px!important;
  height:20px!important;
  display:block!important;
  color:#7890a4!important;
}
body .todo-v13 .todo-search .todo71-search-icon svg{
  display:block!important;
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body .todo-v13 .todo-search input[name="q"]{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  padding-left:58px!important;
  padding-right:12px!important;
  text-indent:0!important;
}

/* Global header search: exactly one visible frame = the form itself. */
body .app-global-header .app-global-search{
  border:1px solid #183a55!important;
  border-radius:11px!important;
  background:#0a2236!important;
  box-shadow:none!important;
}
body .app-global-header .app-global-search input[type="search"]{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  background-image:none!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
  height:auto!important;
  min-height:0!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
body .app-global-header .app-global-search input[type="search"]:hover,
body .app-global-header .app-global-search input[type="search"]:focus{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}


/* =========================================================
   V40.72 – Global search in light theme
   ========================================================= */
body.theme-light .app-global-header .app-global-search{
  background:#ffffff!important;
  border-color:#cbdbe8!important;
  box-shadow:0 1px 3px rgba(24,58,85,.05)!important;
}
body.theme-light .app-global-header .app-global-search input[type="search"],
body.theme-light .app-global-header .app-global-search input[name="q"]{
  color:#183247!important;
  background:transparent!important;
}
body.theme-light .app-global-header .app-global-search input[type="search"]::placeholder,
body.theme-light .app-global-header .app-global-search input[name="q"]::placeholder{
  color:#8195a8!important;
  opacity:1!important;
}
body.theme-light .app-global-header .app-global-search .app-global-search-icon{
  color:#6f899f!important;
}


/* =========================================================
   V40.73 – Blue Theme systematic rework
   Goal: one coherent blue visual language across modules.
   ========================================================= */
body.theme-blue{
  --fc-blue-surface:#0b65a6;
  --fc-blue-surface-2:#0a5b96;
  --fc-blue-surface-3:#084d80;
  --fc-blue-border:rgba(222,243,255,.22);
  --fc-blue-border-strong:rgba(229,247,255,.32);
  --fc-blue-text:#f5fbff;
  --fc-blue-muted:#b9d4e7;
  --fc-blue-field:#0a548b;
  --fc-blue-field-hover:#0b5e99;
  --fc-blue-soft:#bcd8eb;
  --fc-blue-soft-2:#d2e5f3;
  --fc-blue-soft-3:#e4f0f8;
  --fc-blue-ink:#18364f;
}

/* ---------- Global search ---------- */
body.theme-blue .app-global-header .app-global-search{
  background:#0c67a8!important;
  border-color:rgba(225,246,255,.32)!important;
  box-shadow:none!important;
}
body.theme-blue .app-global-header .app-global-search input[type="search"],
body.theme-blue .app-global-header .app-global-search input[name="q"]{
  color:#f4fbff!important;
  background:transparent!important;
}
body.theme-blue .app-global-header .app-global-search input::placeholder{
  color:#c4dceb!important;
  opacity:1!important;
}
body.theme-blue .app-global-header .app-global-search .app-global-search-icon{
  color:#e4f4ff!important;
}

/* ---------- Unified blue controls ---------- */
body.theme-blue input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
body.theme-blue textarea,
body.theme-blue select:not([multiple]):not([size]){
  background:var(--fc-blue-field)!important;
  border-color:var(--fc-blue-border)!important;
  color:var(--fc-blue-text)!important;
  box-shadow:none!important;
}
body.theme-blue input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="reset"]):hover,
body.theme-blue textarea:hover,
body.theme-blue select:not([multiple]):not([size]):hover{
  background:var(--fc-blue-field-hover)!important;
  border-color:var(--fc-blue-border-strong)!important;
}
body.theme-blue input::placeholder,
body.theme-blue textarea::placeholder{
  color:#bdd5e6!important;
  opacity:1!important;
}
body.theme-blue select option{
  background:#084d80!important;
  color:#f5fbff!important;
}

/* ---------- Reusable blue panels ---------- */
body.theme-blue .panel,
body.theme-blue .todo-main-panel,
body.theme-blue .todo-side-panel,
body.theme-blue .shopping-panel,
body.theme-blue .shopping-side-panel,
body.theme-blue .contracts-panel,
body.theme-blue .warranty-panel,
body.theme-blue .inventory-panel,
body.theme-blue .vehicle-panel,
body.theme-blue .cards-panel,
body.theme-blue .files-side-panel,
body.theme-blue .storage-side-card{
  background:rgba(4,76,129,.52)!important;
  border-color:var(--fc-blue-border)!important;
  color:var(--fc-blue-text)!important;
}

/* ---------- Files ---------- */
body.theme-blue .storage-scope-tabs a,
body.theme-blue .files-scope-tabs a,
body.theme-blue .scope-card{
  background:rgba(164,205,233,.48)!important;
  border-color:rgba(226,246,255,.23)!important;
  color:#eff9ff!important;
}
body.theme-blue .storage-scope-tabs a.active,
body.theme-blue .files-scope-tabs a.active,
body.theme-blue .scope-card.active{
  background:rgba(225,242,252,.88)!important;
  border-color:#d9f0ff!important;
  color:#154d76!important;
}
body.theme-blue .files-toolbar,
body.theme-blue .files-toolbar-right,
body.theme-blue .explorer-toolbar,
body.theme-blue .files-table-wrap,
body.theme-blue .explorer-list-wrap{
  background:rgba(4,76,129,.42)!important;
  border-color:var(--fc-blue-border)!important;
}
body.theme-blue .explorer-list-table,
body.theme-blue .files-table{
  background:transparent!important;
}
body.theme-blue .explorer-list-table th,
body.theme-blue .files-table th{
  background:#bdd8ea!important;
  color:#46667f!important;
  border-color:#aacce3!important;
}
body.theme-blue .explorer-list-table td,
body.theme-blue .files-table td{
  background:#dbeaf4!important;
  color:#274760!important;
  border-color:#c7ddea!important;
}
body.theme-blue .explorer-list-table tbody tr:hover td,
body.theme-blue .files-table tbody tr:hover td{
  background:#cfe3f1!important;
}
body.theme-blue .explorer-name strong,
body.theme-blue .files-table strong{color:#17364e!important}
body.theme-blue .explorer-name small,
body.theme-blue .files-table small{color:#627e93!important}

/* ---------- Notes ---------- */
body.theme-blue .notes32-shell{
  background:rgba(4,76,129,.40)!important;
  border-color:var(--fc-blue-border)!important;
}
body.theme-blue .notes32-nav,
body.theme-blue .notes32-sidebar{
  background:#d9e8f3!important;
  color:#33556e!important;
  border-color:#bed8e9!important;
}
body.theme-blue .notes32-nav a,
body.theme-blue .notes32-sidebar a{color:#42637a!important}
body.theme-blue .notes32-nav a.active,
body.theme-blue .notes32-sidebar a.active{
  background:#c4def0!important;
  color:#0877d5!important;
}
body.theme-blue .notes32-list{
  background:#cfe2f0!important;
  color:#24435a!important;
  border-color:#b7d2e5!important;
}
body.theme-blue .notes32-list-item,
body.theme-blue .notes32-note-row{
  color:#24435a!important;
  border-color:#b9d5e7!important;
}
body.theme-blue .notes32-list-item.active,
body.theme-blue .notes32-note-row.active{
  background:#b9d7eb!important;
}
body.theme-blue .notes32-editor{
  background:#79a4c5!important;
  border-color:#9fc3dc!important;
  color:#f5fbff!important;
}
body.theme-blue .notes32-editor-head,
body.theme-blue .notes32-toolbar{
  background:#d8e7f1!important;
  border-color:#bfd8e8!important;
  color:#38566d!important;
}
body.theme-blue .notes32-toolbar button,
body.theme-blue .notes32-toolbar select{
  color:#38566d!important;
}
body.theme-blue .notes32-toolbar select{
  background:#0a548b!important;
  color:#f5fbff!important;
}
body.theme-blue .notes32-title,
body.theme-blue .notes32-title input{
  background:#0a548b!important;
  border-color:var(--fc-blue-border)!important;
  color:#f5fbff!important;
}
body.theme-blue .notes32-canvas{
  background:#4f82aa!important;
  border-color:#78a6c8!important;
  color:#f7fbff!important;
}
body.theme-blue .notes32-canvas p,
body.theme-blue .notes32-canvas div:not(.note-callout):not(.note-callout-content):not(.note-callout-text){
  color:inherit;
}
body.theme-blue .notes32-canvas .note-callout{
  background:#dcebf5!important;
  color:#24435a!important;
  border-color:#c1dce9!important;
}
body.theme-blue .notes32-canvas .note-callout-content,
body.theme-blue .notes32-canvas .note-callout-content strong,
body.theme-blue .notes32-canvas .note-callout-text{
  color:#24435a!important;
}
body.theme-blue .notes32-meta{
  border-color:#b9d7e8!important;
}
body.theme-blue .notes32-meta input,
body.theme-blue .notes32-meta select{
  background:#0a548b!important;
  color:#f5fbff!important;
}

/* ---------- To-dos ---------- */
body.theme-blue .todo-summary-card{
  background:#b9d6e9!important;
  border-color:#a5cade!important;
  color:#1c405b!important;
  box-shadow:none!important;
}
body.theme-blue .todo-summary-card span{color:#58778e!important}
body.theme-blue .todo-main-panel,
body.theme-blue .todo-side-panel{
  background:rgba(5,78,131,.55)!important;
  border-color:var(--fc-blue-border)!important;
}
body.theme-blue .todo-card{
  background:#dceaf4!important;
  border-color:#c4dce9!important;
  color:#1e3e56!important;
}
body.theme-blue .todo-card-content>p,
body.theme-blue .todo-meta,
body.theme-blue .todo67-compact-meta{color:#617d91!important}
body.theme-blue .todo-side-stats div,
body.theme-blue .todo-people a{
  background:#cfe3f1!important;
  color:#24465f!important;
}
body.theme-blue .todo64-checklist,
body.theme-blue .todo64-files{
  background:#cfe3f1!important;
  border-color:#b9d5e6!important;
  color:#24465f!important;
}
body.theme-blue .todo-view-tabs a{color:#bfd8e9!important}
body.theme-blue .todo-view-tabs a.active{
  background:#d9ebf6!important;
  color:#0877d5!important;
}
body.theme-blue .todo67-density{
  background:#0b5a95!important;
  border-color:var(--fc-blue-border)!important;
}
body.theme-blue .todo67-density button{color:#bcd7e8!important}
body.theme-blue .todo67-density button.active{background:#168cff!important;color:#fff!important}

/* ---------- Shopping ---------- */
body.theme-blue .shopping-card,
body.theme-blue .shopping-panel,
body.theme-blue .shopping-side-panel,
body.theme-blue .shopping-category-panel{
  background:rgba(5,78,131,.54)!important;
  border-color:var(--fc-blue-border)!important;
  color:#f4fbff!important;
}
body.theme-blue .shopping-form,
body.theme-blue .shopping-filterbar{
  background:transparent!important;
  border-color:rgba(220,243,255,.16)!important;
}
body.theme-blue .shopping-item,
body.theme-blue .shopping-row{
  background:#d8e8f3!important;
  color:#24465f!important;
  border-color:#c2dae8!important;
}
body.theme-blue .shopping-stats div,
body.theme-blue .shopping-side-stats div,
body.theme-blue .shopping-category-chip,
body.theme-blue .shopping-categories span{
  background:#d6e7f2!important;
  color:#4a687e!important;
  border-color:#c1d9e7!important;
}
body.theme-blue .shopping-v10 .secondary-btn{
  background:#d7e8f4!important;
  color:#42647d!important;
  border-color:#bfd8e8!important;
}

/* ---------- Contracts / Warranties / Inventory / Cards / Vehicles ---------- */
body.theme-blue .contract-summary-card,
body.theme-blue .warranty-summary-card,
body.theme-blue .inventory-summary-card,
body.theme-blue .vehicle-summary-card,
body.theme-blue .cards-summary-card{
  background:#bdd9eb!important;
  border-color:#a8ccdf!important;
  color:#264960!important;
  box-shadow:none!important;
}
body.theme-blue .contract-summary-card span,
body.theme-blue .warranty-summary-card span,
body.theme-blue .inventory-summary-card span,
body.theme-blue .vehicle-summary-card span,
body.theme-blue .cards-summary-card span{
  color:#607f94!important;
}
body.theme-blue .contracts-panel,
body.theme-blue .warranty-panel,
body.theme-blue .inventory-panel,
body.theme-blue .vehicles-panel,
body.theme-blue .cards-panel{
  background:rgba(5,78,131,.52)!important;
  border-color:var(--fc-blue-border)!important;
}
body.theme-blue .contracts-table,
body.theme-blue .warranty-table,
body.theme-blue .inventory-table,
body.theme-blue .vehicles-table,
body.theme-blue .cards-table{
  background:transparent!important;
}
body.theme-blue .contracts-table th,
body.theme-blue .warranty-table th,
body.theme-blue .inventory-table th,
body.theme-blue .vehicles-table th,
body.theme-blue .cards-table th{
  background:#bfd9ea!important;
  color:#5f7d92!important;
  border-color:#abcddd!important;
}
body.theme-blue .contracts-table td,
body.theme-blue .warranty-table td,
body.theme-blue .inventory-table td,
body.theme-blue .vehicles-table td,
body.theme-blue .cards-table td{
  background:#dcebf5!important;
  color:#294960!important;
  border-color:#c6dde9!important;
}
body.theme-blue .contracts-table tbody tr:hover td,
body.theme-blue .warranty-table tbody tr:hover td,
body.theme-blue .inventory-table tbody tr:hover td,
body.theme-blue .vehicles-table tbody tr:hover td,
body.theme-blue .cards-table tbody tr:hover td{
  background:#d1e5f1!important;
}
body.theme-blue .warranty-category-panel,
body.theme-blue .inventory-category-panel,
body.theme-blue .vehicle-side-panel,
body.theme-blue .cards-side-panel,
body.theme-blue .category-panel{
  background:rgba(5,78,131,.55)!important;
  border-color:var(--fc-blue-border)!important;
  color:#f4fbff!important;
}
body.theme-blue .category-chip,
body.theme-blue .warranty-category-chip,
body.theme-blue .inventory-category-chip{
  background:#dbeaf4!important;
  color:#4c6a80!important;
  border-color:#c5dce9!important;
}

/* ---------- Generic table fallback for blue-theme modules ---------- */
body.theme-blue .module-shell table:not(.finance-dashboard-month-table):not(.calendar53-grid){
  border-color:#bfd7e5!important;
}
body.theme-blue .module-shell table:not(.finance-dashboard-month-table) th{
  background:#bdd8ea!important;
  color:#5a788e!important;
}
body.theme-blue .module-shell table:not(.finance-dashboard-month-table) td{
  background:#dcebf5!important;
  color:#294960!important;
  border-color:#c7dce9!important;
}

/* ---------- Buttons on blue surfaces ---------- */
body.theme-blue .primary-btn{
  background:#0877d5!important;
  border-color:#0877d5!important;
  color:#fff!important;
}
body.theme-blue .secondary-btn{
  background:#d6e7f2!important;
  border-color:#bfd8e7!important;
  color:#42637a!important;
}
body.theme-blue .secondary-btn:hover{
  background:#c9dfed!important;
  color:#24465f!important;
}

/* Preserve dark form controls inside modals for good contrast. */
body.theme-blue .modal-card,
body.theme-blue .modal-form{
  color:#f4fbff;
}
body.theme-blue .modal-card input,
body.theme-blue .modal-card textarea,
body.theme-blue .modal-card select{
  background:#0a548b!important;
  color:#f4fbff!important;
  border-color:var(--fc-blue-border)!important;
}


/* =========================================================
   V40.74 – Blue Theme deep rework using real module classes
   ========================================================= */
body.theme-blue{
  --b74-panel:#0868aa;
  --b74-panel-deep:#07588f;
  --b74-control:#0a5f9a;
  --b74-control-hover:#0b6cab;
  --b74-light:#d7e7f2;
  --b74-light-2:#c6deed;
  --b74-light-3:#b7d5e8;
  --b74-line:#a9cada;
  --b74-ink:#24445c;
  --b74-muted:#668197;
  --b74-white:#f5fbff;
  --b74-border:rgba(225,246,255,.25);
}

/* Header/global search */
body.theme-blue .app-global-search{
  background:#0b6eaf!important;
  border-color:rgba(230,247,255,.33)!important;
}
body.theme-blue .app-global-search input{
  background:transparent!important;
  color:#f5fbff!important;
}
body.theme-blue .app-global-search input::placeholder{color:#c6deed!important}
body.theme-blue .app-global-search-icon{color:#e7f6ff!important}

/* Common blue fields */
body.theme-blue .module-shell input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),
body.theme-blue .module-shell textarea,
body.theme-blue .module-shell select,
body.theme-blue .notes32-main input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),
body.theme-blue .notes32-main textarea,
body.theme-blue .notes32-main select{
  background:var(--b74-control)!important;
  color:var(--b74-white)!important;
  border-color:var(--b74-border)!important;
}
body.theme-blue .module-shell input::placeholder,
body.theme-blue .module-shell textarea::placeholder,
body.theme-blue .notes32-main input::placeholder,
body.theme-blue .notes32-main textarea::placeholder{color:#c3dbe9!important}
body.theme-blue .module-shell select option,
body.theme-blue .notes32-main select option{background:#07558b!important;color:#fff!important}

/* FILES */
body.theme-blue .files-v14 .storage-scope-tabs > *,
body.theme-blue .files-v14 .scope-card{
  background:var(--b74-light-3)!important;
  color:var(--b74-ink)!important;
  border-color:var(--b74-line)!important;
}
body.theme-blue .files-v14 .storage-scope-tabs > *.active,
body.theme-blue .files-v14 .scope-card.active{
  background:#e4f0f8!important;
  color:#0b65a6!important;
  border-color:#d5e8f3!important;
}
body.theme-blue .files-v14 .files-panel,
body.theme-blue .files-v14 .file-side-card,
body.theme-blue .files-v14 .files-toolbar,
body.theme-blue .files-v14 .files-list-head{
  background:var(--b74-panel-deep)!important;
  color:var(--b74-white)!important;
  border-color:var(--b74-border)!important;
}
body.theme-blue .files-v14 .explorer-list-wrap{background:transparent!important;border-color:var(--b74-border)!important}
body.theme-blue .files-v14 .explorer-list-table thead th{
  background:var(--b74-light-2)!important;color:var(--b74-muted)!important;border-color:var(--b74-line)!important
}
body.theme-blue .files-v14 .explorer-list-table tbody td{
  background:var(--b74-light)!important;color:var(--b74-ink)!important;border-color:#c2d9e7!important
}
body.theme-blue .files-v14 .explorer-list-table tbody tr:hover td{background:#cce1ee!important}
body.theme-blue .files-v14 .folder-card,
body.theme-blue .files-v14 .file-card-grid-item{background:var(--b74-light)!important;color:var(--b74-ink)!important;border-color:#c2d9e7!important}

/* NOTES */
body.theme-blue .notes32-main{background:transparent!important}
body.theme-blue .notes32-main .notes32-nav{
  background:#dceaf4!important;color:var(--b74-ink)!important;border-color:#c6dce9!important
}
body.theme-blue .notes32-main .notes32-nav a{color:#46647a!important}
body.theme-blue .notes32-main .notes32-nav a.active{background:#c5dfee!important;color:#0877d5!important}
body.theme-blue .notes32-main .notes32-list{
  background:#c9deec!important;color:var(--b74-ink)!important;border-color:#b7d1e1!important
}
body.theme-blue .notes32-main .notes32-list-head{
  background:#d7e7f2!important;color:#35566f!important;border-color:#bdd4e3!important
}
body.theme-blue .notes32-main .notes32-item{color:#35566f!important;border-color:#b7d1e1!important}
body.theme-blue .notes32-main .notes32-item.active{background:#b7d6e9!important;color:#1d4867!important}
body.theme-blue .notes32-main .notes32-editor{
  background:#82aac8!important;color:#f7fbff!important;border-color:#9abbd2!important
}
body.theme-blue .notes32-main .notes32-editor-head,
body.theme-blue .notes32-main .notes32-toolbar{
  background:#d8e7f2!important;color:#36566d!important;border-color:#bfd4e2!important
}
body.theme-blue .notes32-main .notes32-toolbar button{color:#36566d!important;background:transparent!important}
body.theme-blue .notes32-main .notes32-canvas{
  background:#4f82aa!important;color:#fff!important;border-color:#78a2c0!important
}
body.theme-blue .notes32-main .notes32-meta-grid{border-color:#b8d1e0!important}
body.theme-blue .notes32-main .note-callout{
  background:#dceaf4!important;color:#24445c!important;border-color:#bfd8e7!important
}
body.theme-blue .notes32-main .note-callout *{color:#24445c!important}

/* TO-DOS */
body.theme-blue .todo-v13 .todo-summary-card{
  background:var(--b74-light-2)!important;color:var(--b74-ink)!important;border-color:var(--b74-line)!important
}
body.theme-blue .todo-v13 .todo-summary-card span{color:var(--b74-muted)!important}
body.theme-blue .todo-v13 .todo-main-panel,
body.theme-blue .todo-v13 .todo-side-panel{background:var(--b74-panel-deep)!important;border-color:var(--b74-border)!important;color:#fff!important}
body.theme-blue .todo-v13 .todo-card{background:var(--b74-light)!important;color:var(--b74-ink)!important;border-color:#c1d8e6!important}
body.theme-blue .todo-v13 .todo-card-content>p,
body.theme-blue .todo-v13 .todo-meta{color:#617c91!important}
body.theme-blue .todo-v13 .todo64-checklist,
body.theme-blue .todo-v13 .todo64-files{background:#c9deec!important;color:var(--b74-ink)!important;border-color:#b7d1e1!important}
body.theme-blue .todo-v13 .todo-side-stats>div{background:#d4e6f1!important;color:var(--b74-ink)!important}
body.theme-blue .todo-v13 .todo-side .category-chip{background:#dceaf4!important;color:#4c6b82!important}

/* SHOPPING */
body.theme-blue .shopping-v10 .shopping-primary-panel,
body.theme-blue .shopping-v10 .shopping-info-panel{
  background:var(--b74-panel-deep)!important;color:#fff!important;border-color:var(--b74-border)!important
}
body.theme-blue .shopping-v10 .shopping-item-card{
  background:var(--b74-light)!important;color:var(--b74-ink)!important;border-color:#c0d8e6!important
}
body.theme-blue .shopping-v10 .shopping-list-tabs a{
  background:var(--b74-light-3)!important;color:#4b6b82!important;border-color:var(--b74-line)!important
}
body.theme-blue .shopping-v10 .shopping-list-tabs a.active{background:#168cff!important;color:#fff!important}
body.theme-blue .shopping-v10 .shopping-info-panel .summary-stat,
body.theme-blue .shopping-v10 .shopping-info-panel .category-chip{
  background:#dceaf4!important;color:#4c6b82!important;border-color:#c2d9e7!important
}

/* CONTRACTS */
body.theme-blue .contracts-v16 .contract-summary-card{
  background:var(--b74-light-2)!important;color:var(--b74-ink)!important;border-color:var(--b74-line)!important
}
body.theme-blue .contracts-v16 .contract-summary-card span{color:var(--b74-muted)!important}
body.theme-blue .contracts-v16 .contracts-panel,
body.theme-blue .contracts-v16 .contract-categories{
  background:var(--b74-panel-deep)!important;color:#fff!important;border-color:var(--b74-border)!important
}
body.theme-blue .contracts-v16 .contracts-table thead th{
  background:var(--b74-light-2)!important;color:var(--b74-muted)!important;border-color:var(--b74-line)!important
}
body.theme-blue .contracts-v16 .contracts-table tbody td{
  background:var(--b74-light)!important;color:var(--b74-ink)!important;border-color:#c2d9e7!important
}
body.theme-blue .contracts-v16 .contracts-table tbody tr:hover td{background:#cce1ee!important}

/* WARRANTIES */
body.theme-blue .warranty-v11 .summary-card{
  background:var(--b74-light-2)!important;color:var(--b74-ink)!important;border-color:var(--b74-line)!important
}
body.theme-blue .warranty-v11 .summary-card span{color:var(--b74-muted)!important}
body.theme-blue .warranty-v11 .warranty-panel,
body.theme-blue .warranty-v11 .warranty-category-panel{
  background:var(--b74-panel-deep)!important;color:#fff!important;border-color:var(--b74-border)!important
}
body.theme-blue .warranty-v11 .warranty-table thead th{
  background:var(--b74-light-2)!important;color:var(--b74-muted)!important;border-color:var(--b74-line)!important
}
body.theme-blue .warranty-v11 .warranty-table tbody td{
  background:var(--b74-light)!important;color:var(--b74-ink)!important;border-color:#c2d9e7!important
}
body.theme-blue .warranty-v11 .warranty-table tbody tr:hover td{background:#cce1ee!important}

/* INVENTORY */
body.theme-blue .inventory-module .inventory-stat{
  background:var(--b74-light-2)!important;color:var(--b74-ink)!important;border-color:var(--b74-line)!important
}
body.theme-blue .inventory-module .inventory-toolbar,
body.theme-blue .inventory-module .inventory-list-panel{
  background:var(--b74-panel-deep)!important;color:#fff!important;border-color:var(--b74-border)!important
}
body.theme-blue .inventory-module .inventory-card{
  background:var(--b74-light)!important;color:var(--b74-ink)!important;border-color:#c2d9e7!important
}
body.theme-blue .inventory-module .inventory-card-meta,
body.theme-blue .inventory-module .inventory-card-value{color:#607d92!important}

/* CARDS / IDS */
body.theme-blue .cards-v18 .cards-toolbar,
body.theme-blue .cards-v18 .card-category-panel,
body.theme-blue .cards-v18 .cards-empty{
  background:var(--b74-panel-deep)!important;color:#fff!important;border-color:var(--b74-border)!important
}
body.theme-blue .cards-v18 .cards-scope-tabs a{
  background:var(--b74-light-3)!important;color:#4c6b82!important;border-color:var(--b74-line)!important
}
body.theme-blue .cards-v18 .cards-scope-tabs a.active{background:#168cff!important;color:#fff!important}
body.theme-blue .cards-v18 .id-card{
  background:var(--b74-light)!important;color:var(--b74-ink)!important;border-color:#c2d9e7!important
}
body.theme-blue .cards-v18 .id-card-footer,
body.theme-blue .cards-v18 .id-card-data{color:#607d92!important}

/* VEHICLES */
body.theme-blue .vehicles-v20 .vehicles-toolbar,
body.theme-blue .vehicles-v20 .vehicle-category-panel,
body.theme-blue .vehicles-v20 .vehicles-empty{
  background:var(--b74-panel-deep)!important;color:#fff!important;border-color:var(--b74-border)!important
}
body.theme-blue .vehicles-v20 .vehicle-card{
  background:var(--b74-light)!important;color:var(--b74-ink)!important;border-color:#c2d9e7!important
}
body.theme-blue .vehicles-v20 .vehicle-card strong,
body.theme-blue .vehicles-v20 .vehicle-identity,
body.theme-blue .vehicles-v20 .vehicle-facts{color:var(--b74-ink)!important}
body.theme-blue .vehicles-v20 .vehicle-footer,
body.theme-blue .vehicles-v20 .vehicle-next{color:#607d92!important}

/* Generic blue cards/tables inside the affected modules, as a final fallback */
body.theme-blue .contracts-v16 table,
body.theme-blue .warranty-v11 table,
body.theme-blue .files-v14 table{background:transparent!important}
body.theme-blue .contracts-v16 tbody tr,
body.theme-blue .warranty-v11 tbody tr,
body.theme-blue .files-v14 tbody tr{background:transparent!important}

/* Keep white action buttons readable but avoid raw white everywhere else. */
body.theme-blue .module-shell .primary-btn{background:#0877d5!important;color:#fff!important;border-color:#0877d5!important}
body.theme-blue .module-shell .secondary-btn{
  background:#d7e7f2!important;color:#42647d!important;border-color:#bfd7e6!important
}


/* =========================================================
   V40.84 – Kalender: Kalenderlisten horizontal kompakt
   ========================================================= */

/* Desktop/tablet: Kategorien und Kalender nebeneinander statt untereinander. */
.calendar62-collections{
  align-items:center!important;
  min-height:0!important;
  padding:9px 12px!important;
}
.calendar62-collection-groups{
  display:flex!important;
  flex:1 1 auto!important;
  align-items:center!important;
  gap:18px!important;
  min-width:0!important;
  flex-wrap:wrap!important;
}
.calendar62-group{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
}
.calendar62-group>small{
  flex:0 0 auto!important;
  padding:0!important;
  margin:0!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.calendar62-group .calendar61-pills{
  flex-wrap:wrap!important;
  gap:6px!important;
}
.calendar62-group .calendar61-pill{
  padding:6px 10px!important;
  min-height:30px!important;
}
.calendar62-collections .calendar61-manage-btn{
  flex:0 0 auto!important;
  align-self:center!important;
  margin-left:auto!important;
}

/* Bei geteilten Kalendern darf der Zusatz weiterhin kompakt bleiben. */
.calendar62-shared-pill{
  max-width:310px!important;
}
.calendar62-shared-pill>small{
  max-width:140px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Auf kleineren Breiten kontrolliert umbrechen; Mobile wieder vertikal. */
@media(max-width:1050px){
  .calendar62-collection-groups{
    gap:10px 16px!important;
  }
  .calendar62-group{
    flex-wrap:wrap!important;
  }
}
@media(max-width:760px){
  .calendar62-collections{
    align-items:stretch!important;
    padding:10px 12px!important;
  }
  .calendar62-collection-groups{
    display:grid!important;
    gap:9px!important;
  }
  .calendar62-group{
    display:grid!important;
    gap:5px!important;
  }
  .calendar62-group>small{
    line-height:normal!important;
  }
  .calendar62-collections .calendar61-manage-btn{
    width:100%!important;
    margin-left:0!important;
  }
}


/* =========================================================
   V40.85 – Kontakte
   ========================================================= */
.contacts85{display:grid;gap:14px}
.contacts85-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.contacts85-header h1{margin:0}.contacts85-header p{margin:5px 0 0;color:var(--muted,#8397aa)}
.contacts85-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.contacts85-actions a{text-decoration:none}
.contacts85-bookbar{
  display:flex;align-items:center;justify-content:space-between;padding:10px 13px;border:1px solid rgba(127,151,176,.14);
  border-radius:13px;background:rgba(127,151,176,.035)
}
.contacts85-bookbar>div{display:flex;align-items:center;gap:10px}.contacts85-bookbar small{font-size:.63rem;font-weight:850;letter-spacing:.09em;color:var(--muted,#8397aa)}
.contacts85-bookbar strong{font-size:.84rem}.contacts85-bookbar span{font-size:.7rem;color:var(--muted,#8397aa)}
.contacts85-layout{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:14px;align-items:start}
.contacts85-list-panel,.contacts85-detail{border-radius:16px;overflow:hidden}
.contacts85-list-panel{padding:10px;position:sticky;top:92px;max-height:calc(100vh - 115px);display:grid;grid-template-rows:auto minmax(0,1fr)}
.contacts85-search{position:relative;display:flex;align-items:center;margin-bottom:8px}
.contacts85-search>span{position:absolute;left:14px;z-index:2;color:#7f95a8;pointer-events:none}
.contacts85-search input{width:100%;padding-left:42px!important;padding-right:38px!important}
.contacts85-search>a{position:absolute;right:10px;text-decoration:none;color:#8b9bab;font-size:1.15rem}
.contacts85-list{overflow:auto;display:grid;align-content:start;gap:4px;padding-right:2px}
.contacts85-list-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px;align-items:center;padding:8px;border-radius:11px;text-decoration:none;color:inherit}
.contacts85-list-row:hover{background:rgba(8,119,213,.055)}
.contacts85-list-row.active{background:rgba(8,119,213,.095);box-shadow:inset 3px 0 #1688ff}
.contacts85-list-row>span:last-child{display:grid;gap:2px;min-width:0}.contacts85-list-row strong{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contacts85-list-row small{font-size:.67rem;color:var(--muted,#8397aa);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contacts85-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#70c8ff,#267eff);color:#fff}
.contacts85-avatar img{width:100%;height:100%;object-fit:cover}.contacts85-avatar b{font-size:.9rem}.contacts85-avatar.large{width:78px;height:78px}.contacts85-avatar.large b{font-size:1.55rem}
.contacts85-empty-list{padding:28px 14px;text-align:center;display:grid;gap:5px;color:var(--muted,#8397aa)}
.contacts85-empty-list>span{font-size:2rem}.contacts85-empty-list strong{color:inherit}
.contacts85-detail{padding:16px;min-height:470px}
.contacts85-empty-detail{min-height:430px;display:grid;place-items:center;align-content:center;text-align:center;gap:8px;color:var(--muted,#8397aa)}
.contacts85-empty-detail>span{font-size:2.6rem}.contacts85-empty-detail strong{font-size:1.05rem;color:inherit}.contacts85-empty-detail p{max-width:500px;margin:0 0 7px;line-height:1.55}
.contacts85-detail-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:15px;border-bottom:1px solid rgba(127,151,176,.13)}
.contacts85-detail-person{display:flex;align-items:center;gap:14px;min-width:0}.contacts85-detail-person>div:last-child{min-width:0}
.contacts85-detail-person h2{margin:0;font-size:1.35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contacts85-detail-person p{margin:4px 0;color:var(--muted,#8397aa)}.contacts85-detail-person small{color:var(--muted,#8397aa)}
.contacts85-detail-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.contacts85-detail-actions form{margin:0}
.contacts85-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.contacts85-detail-grid>section{padding:12px;border:1px solid rgba(127,151,176,.12);border-radius:13px;background:rgba(127,151,176,.025);min-width:0}
.contacts85-detail-grid h3{margin:0 0 9px;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#8397aa)}
.contacts85-detail-row{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px;padding:6px 0;border-top:1px solid rgba(127,151,176,.08);align-items:start}
.contacts85-detail-row:first-of-type{border-top:0}.contacts85-detail-row>span{font-size:.68rem;color:var(--muted,#8397aa)}.contacts85-detail-row>a,.contacts85-detail-row>strong{font-size:.76rem;overflow-wrap:anywhere;color:inherit}
.contacts85-address{display:grid;gap:2px;padding:7px 0;border-top:1px solid rgba(127,151,176,.08)}.contacts85-address:first-of-type{border-top:0}.contacts85-address>span{font-size:.68rem;color:var(--muted,#8397aa)}.contacts85-address strong{font-size:.76rem}.contacts85-address small{font-size:.7rem;color:var(--muted,#8397aa)}
.contacts85-facts{display:grid;gap:6px}.contacts85-facts>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px}.contacts85-facts span{font-size:.68rem;color:var(--muted,#8397aa)}.contacts85-facts strong{font-size:.76rem}
.contacts85-note{grid-column:1/-1}.contacts85-note p{margin:0;line-height:1.55;font-size:.76rem}
.contacts85-modal{width:min(980px,calc(100vw - 28px));max-height:92vh;overflow:auto}
.contacts85-form{display:grid;gap:10px}.contacts85-form-section{display:grid;gap:9px;padding:11px;border:1px solid rgba(127,151,176,.13);border-radius:13px;background:rgba(127,151,176,.025)}
.contacts85-form-section>h3,.contacts85-section-head h3{margin:0;font-size:.78rem}.contacts85-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.contacts85-section-head .secondary-btn{min-width:34px;padding:6px 9px}
.contacts85-grid5{display:grid;grid-template-columns:110px 1fr 1fr 1fr 100px;gap:8px}.contacts85-grid5 label,.contacts85-form label{display:grid;gap:5px;font-size:.7rem;font-weight:750}
.contacts85-advanced,.contacts85-more{border:0}.contacts85-advanced>summary,.contacts85-more>summary{cursor:pointer;font-size:.72rem;font-weight:800;color:var(--muted,#8397aa)}
.contacts85-repeat{display:grid;gap:7px}.contacts85-repeat-row{display:grid;grid-template-columns:130px 170px minmax(0,1fr) 42px 30px;gap:7px;align-items:center}
.contacts85-repeat-row.impp{grid-template-columns:160px 180px minmax(0,1fr) 30px}.contacts85-repeat-row.social{grid-template-columns:130px 150px 180px minmax(0,1fr) 30px}
.contacts85-repeat-row input,.contacts85-repeat-row select{min-width:0;width:100%}
.contacts85-pref{display:flex!important;grid-template-columns:auto!important;place-items:center!important;justify-content:center!important;font-size:.9rem!important;color:#e7a51b!important}.contacts85-pref input{width:17px!important;height:17px!important;min-height:0!important}
.contacts85-remove-row{width:30px;height:30px;border:0;border-radius:8px;background:rgba(255,69,58,.08);color:#d94848;cursor:pointer}
.contacts85-repeat-row.address{display:grid;grid-template-columns:1fr;padding:8px;border:1px solid rgba(127,151,176,.11);border-radius:11px}
.contacts85-address-head{display:grid;grid-template-columns:140px minmax(0,1fr) 42px 30px;gap:7px;align-items:center}.contacts85-address-grid{display:grid;grid-template-columns:2fr 1.3fr .65fr 1fr 1fr 1fr 1fr;gap:7px}
.contacts85-more{padding:11px}.contacts85-more[open]>summary{margin-bottom:10px}.contacts85-more .contacts85-section-head:not(:first-of-type){margin-top:9px;padding-top:9px;border-top:1px solid rgba(127,151,176,.11)}
.contacts85-remove-photo{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:7px!important}.contacts85-remove-photo input{width:17px!important;height:17px!important;min-height:0!important}
.contacts85-import-note{margin:0;line-height:1.55;color:var(--muted,#8397aa);font-size:.76rem}

/* Dark */
.theme-dark .contacts85-bookbar,.theme-dark .contacts85-detail-grid>section,.theme-dark .contacts85-form-section,.theme-dark .contacts85-repeat-row.address{background:#10283e;border-color:#24445f}
.theme-dark .contacts85-list-row:hover{background:#102b43}.theme-dark .contacts85-list-row.active{background:#123451}

/* Blue */
body.theme-blue .contacts85-bookbar,body.theme-blue .contacts85-list-panel,body.theme-blue .contacts85-detail{
  background:#095b92!important;border-color:rgba(229,247,255,.22)!important;color:#f6fbff!important
}
body.theme-blue .contacts85-list-row:hover{background:#126da9!important}
body.theme-blue .contacts85-list-row.active{background:#177ebd!important}
body.theme-blue .contacts85-list-row small,body.theme-blue .contacts85-detail-person p,body.theme-blue .contacts85-detail-person small,
body.theme-blue .contacts85-detail-grid h3,body.theme-blue .contacts85-detail-row>span,body.theme-blue .contacts85-address>span,body.theme-blue .contacts85-address small,
body.theme-blue .contacts85-facts span,body.theme-blue .contacts85-import-note{color:#bad6e7!important}
body.theme-blue .contacts85-detail-grid>section{background:#126da9!important;border-color:rgba(229,247,255,.14)!important}
body.theme-blue .contacts85-detail-row,body.theme-blue .contacts85-address{border-color:rgba(229,247,255,.11)!important}
body.theme-blue .contacts85-form-section,body.theme-blue .contacts85-repeat-row.address{background:#0e6199!important;border-color:rgba(229,247,255,.14)!important}
body.theme-blue .contacts85-form input:not([type=checkbox]):not([type=file]),body.theme-blue .contacts85-form textarea,body.theme-blue .contacts85-form select,
body.theme-blue .contacts85-search input{background:#084f80!important;color:#f6fbff!important;border-color:rgba(229,247,255,.22)!important}
body.theme-blue .contacts85-modal{background:#095b92!important;color:#fff!important;border-color:rgba(229,247,255,.22)!important}

@media(max-width:1050px){
 .contacts85-layout{grid-template-columns:280px minmax(0,1fr)}.contacts85-detail-grid{grid-template-columns:1fr}.contacts85-grid5{grid-template-columns:1fr 1fr 1fr}.contacts85-address-grid{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:760px){
 .contacts85-header{align-items:flex-start;flex-direction:column}.contacts85-actions{width:100%;justify-content:stretch}.contacts85-actions>*{flex:1;text-align:center}
 .contacts85-layout{grid-template-columns:1fr}.contacts85-list-panel{position:static;max-height:340px}.contacts85-detail-head{align-items:flex-start;flex-direction:column}
 .contacts85-detail-actions{width:100%;justify-content:flex-start}.contacts85-grid5,.contacts85-address-grid{grid-template-columns:1fr}
 .contacts85-repeat-row,.contacts85-repeat-row.impp,.contacts85-repeat-row.social{grid-template-columns:1fr}.contacts85-pref{justify-content:flex-start!important}.contacts85-remove-row{justify-self:end}
 .contacts85-address-head{grid-template-columns:1fr 1fr 42px 30px}
}


/* =========================================================
   V40.87 – Gemeinsame DAV-Geräte (Kalender + Kontakte)
   ========================================================= */
.dav-device-card{scroll-margin-top:92px}
.dav-device-once{display:grid;gap:13px;margin:14px 0 18px;padding:15px;border:1px solid rgba(32,139,255,.22);border-radius:15px;background:rgba(32,139,255,.045)}
.dav-device-once-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.dav-device-once-head>div{display:grid;gap:3px}.dav-device-once-head small{font-size:.63rem;font-weight:850;letter-spacing:.07em;color:var(--muted,#8397aa)}
.dav-device-once-head h4{margin:0;font-size:1rem}.dav-device-once-head span:not(.pill){font-size:.72rem;color:var(--muted,#8397aa)}
.dav-device-secret{display:flex;align-items:center;gap:9px;padding:11px;border-radius:12px;background:rgba(127,151,176,.07)}
.dav-device-secret code{font-size:.88rem;font-weight:850;letter-spacing:.065em;overflow-wrap:anywhere;flex:1}
.dav-platform-setup{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px;border-radius:13px;border:1px solid rgba(127,151,176,.12);background:rgba(127,151,176,.03)}
.dav-platform-setup>div{display:grid;gap:4px}.dav-platform-setup strong{font-size:.8rem}.dav-platform-setup small{font-size:.7rem;line-height:1.45;color:var(--muted,#8397aa);max-width:650px}
.dav-platform-setup a{text-decoration:none;white-space:nowrap}
.dav-manual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.dav-manual-grid>div{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label copy" "value copy";gap:3px 8px;align-items:center;padding:10px;border:1px solid rgba(127,151,176,.12);border-radius:11px;background:rgba(127,151,176,.025)}
.dav-manual-grid small{grid-area:label;font-size:.59rem;font-weight:850;letter-spacing:.07em;color:var(--muted,#8397aa)}
.dav-manual-grid strong{grid-area:value;font-size:.69rem;overflow-wrap:anywhere}
.mini-copy{grid-area:copy;border:0;background:rgba(8,119,213,.08);color:#0877d5;border-radius:8px;padding:6px 8px;font:inherit;font-size:.64rem;font-weight:750;cursor:pointer}
.dav-platform-help{border:1px solid rgba(127,151,176,.12);border-radius:12px;padding:10px 12px}
.dav-platform-help summary{cursor:pointer;font-size:.75rem;font-weight:850}.dav-platform-help ol{margin:10px 0 6px;padding-left:21px;font-size:.72rem;line-height:1.55}.dav-platform-help>small{font-size:.68rem;color:var(--muted,#8397aa)}
.dav-device-create{margin:12px 0 18px}
.dav-service-picker{display:grid;gap:8px}.dav-service-picker>strong{font-size:.75rem}.dav-service-picker>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.dav-service-picker label{position:relative;cursor:pointer}.dav-service-picker label>input{position:absolute;opacity:0;pointer-events:none}
.dav-service-picker label>span{display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:9px;padding:10px 12px;border:1px solid rgba(127,151,176,.15);border-radius:12px;background:rgba(127,151,176,.025)}
.dav-service-picker label>span>.settings-card-img{grid-row:1/3;width:34px;height:34px}
.dav-service-picker label>span b{font-size:.76rem}.dav-service-picker label>span small{font-size:.64rem;color:var(--muted,#8397aa)}
.dav-service-picker label>input:checked+span{border-color:rgba(22,136,255,.55);box-shadow:0 0 0 2px rgba(22,136,255,.08);background:rgba(22,136,255,.055)}
.dav-device-list{display:grid;gap:8px;margin-top:8px}.dav-device-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;border-top:1px solid rgba(127,151,176,.1)}
.dav-device-platform{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:rgba(22,136,255,.09);font-weight:900}
.dav-device-copy{display:grid;gap:3px;min-width:0}.dav-device-copy>strong{font-size:.78rem}.dav-device-copy>small{font-size:.66rem;color:var(--muted,#8397aa)}
.dav-device-service-state{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.dav-device-service-state span{font-size:.62rem;padding:3px 6px;border-radius:999px;background:rgba(127,151,176,.08);color:var(--muted,#8397aa)}
.dav-legacy-info{margin-top:16px}.dav-legacy-info>summary{font-size:.72rem}.dav-legacy-info p{font-size:.7rem;line-height:1.5;color:var(--muted,#8397aa)}
.dav-legacy-list{display:grid;gap:5px}.dav-legacy-list>div,.dav-legacy-list>span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-radius:9px;background:rgba(127,151,176,.05);font-size:.68rem}

.theme-dark .dav-device-once,.theme-dark .dav-platform-setup,.theme-dark .dav-manual-grid>div,.theme-dark .dav-service-picker label>span{background:#10283e;border-color:#24445f}
.theme-dark .dav-device-secret{background:#0b2135}

body.theme-blue .dav-device-once,
body.theme-blue .dav-platform-setup,
body.theme-blue .dav-manual-grid>div,
body.theme-blue .dav-service-picker label>span,
body.theme-blue .dav-platform-help{
  background:#0e6199!important;border-color:rgba(229,247,255,.18)!important;color:#f6fbff!important
}
body.theme-blue .dav-device-secret{background:#084f80!important}
body.theme-blue .dav-device-once small,
body.theme-blue .dav-platform-setup small,
body.theme-blue .dav-manual-grid small,
body.theme-blue .dav-platform-help>small,
body.theme-blue .dav-device-copy>small,
body.theme-blue .dav-legacy-info p{color:#bad6e7!important}
body.theme-blue .dav-service-picker label>input:checked+span{background:#177ebd!important;border-color:rgba(229,247,255,.32)!important}
body.theme-blue .dav-device-platform{background:#126da9!important}
body.theme-blue .dav-device-service-state span{background:#126da9!important;color:#d9ecf8!important}
body.theme-blue .mini-copy{background:#126da9!important;color:#f6fbff!important}

@media(max-width:900px){
 .dav-manual-grid{grid-template-columns:1fr}.dav-platform-setup{align-items:flex-start;flex-direction:column}
}
@media(max-width:680px){
 .dav-device-once-head{align-items:flex-start;flex-direction:column}.dav-device-secret{align-items:stretch;flex-direction:column}
 .dav-service-picker>div{grid-template-columns:1fr}.dav-device-row{grid-template-columns:38px minmax(0,1fr)}.dav-device-row>form{grid-column:1/-1}
}


/* =========================================================
   V40.88 – Dashboard Edit-Toolbar
   ========================================================= */
.dashboard-widget-toolbar [hidden]{display:none!important}
body:not(.dashboard-edit-mode) #dashboardVisibilityBtn,
body:not(.dashboard-edit-mode) #dashboardEditCancel,
body:not(.dashboard-edit-mode) #dashboardEditSave{display:none!important}
body.dashboard-edit-mode #dashboardCustomizeBtn{display:none!important}


/* =========================================================
   V40.92 – Security / credential lifecycle controls
   ========================================================= */
.settings-inline-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}
.settings-inline-actions form{margin:0}
.integration-status.warning{
  border-color:rgba(210,137,23,.28)!important;
  background:rgba(210,137,23,.08)!important;
}
.integration-status.warning .status-dot{background:#d98917!important}
@media(max-width:680px){
  .settings-inline-actions{justify-content:flex-start}
}


/* =========================================================
   V40.102 – To-do search icon/text overlap regression fix
   The global input normalizer has very high selector specificity.
   Use the stable input ID as the final authority for the search gutter.
   ========================================================= */
body .todo-v13 .todo-filterbar .todo-search{
  position:relative!important;
}
body .todo-v13 .todo-filterbar .todo-search .todo71-search-icon{
  position:absolute!important;
  left:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:6!important;
  width:20px!important;
  height:20px!important;
  display:grid!important;
  place-items:center!important;
  pointer-events:none!important;
  color:#7890a4!important;
}
body .todo-v13 .todo-filterbar .todo-search .todo71-search-icon svg{
  width:20px!important;
  height:20px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body #todoSearchInput{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  padding-left:54px!important;
  padding-right:14px!important;
  text-indent:0!important;
}


/* =========================================================
   V40.103 – Search field consistency / icon gutter
   One authoritative final layer for all primary searches.
   Global form normalization must never collapse the icon gutter
   or add a second border inside a search container.
   ========================================================= */

/* Global header search: the FORM owns the visible border. */
body .app-global-header .app-global-search{
  position:relative!important;
}
body #globalSearchInput{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  text-indent:0!important;
}
body #globalSearchInput:hover,
body #globalSearchInput:focus,
body #globalSearchInput:focus-visible{
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body .app-global-header .app-global-search:focus-within{
  border-color:#1688ff!important;
  box-shadow:0 0 0 3px rgba(22,136,255,.13)!important;
}

/* Dedicated global-search results page: wrapper owns border as well. */
body #globalResultsSearchInput{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
body #globalResultsSearchInput:hover,
body #globalResultsSearchInput:focus,
body #globalResultsSearchInput:focus-visible{
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Primary module search inputs with an absolutely positioned search icon. */
body #todoSearchInput,
body #notesSearchInput,
body #contactsSearchInput,
body #filesSearchInput,
body #sharedFilesSearchInput,
body #oneDriveSearchInput,
body #shoppingSearchInput,
body #cardsSearchInput,
body #vehiclesSearchInput,
body #contractsSearchInput,
body #warrantiesSearchInput{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  padding-left:48px!important;
  padding-right:14px!important;
  text-indent:0!important;
}

/* To-dos and Notes use the larger SVG loupe and need a little more air. */
body #todoSearchInput,
body #notesSearchInput{
  padding-left:54px!important;
}

/* All absolute loupe glyphs stay inside their reserved gutter. */
body .todo-search,
body .notes32-search,
body .contacts85-search,
body .files-search,
body .shopping-search,
body .cards-search,
body .vehicle-search,
body .contracts-search,
body .warranty-search{
  position:relative!important;
}
body .contacts85-search>span,
body .files-search>span,
body .shopping-search>span,
body .cards-search>span,
body .vehicle-search>span,
body .contracts-search>span,
body .warranty-search>span{
  position:absolute!important;
  left:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:5!important;
  width:20px!important;
  min-width:20px!important;
  text-align:center!important;
  line-height:1!important;
  pointer-events:none!important;
  color:#7890a4!important;
}
body .todo-search .todo71-search-icon,
body .notes32-search .notes-search-icon{
  position:absolute!important;
  left:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:5!important;
  width:20px!important;
  height:20px!important;
  display:grid!important;
  place-items:center!important;
  pointer-events:none!important;
  color:#7890a4!important;
}
body .todo-search .todo71-search-icon svg,
body .notes32-search .notes-search-icon svg{
  width:20px!important;
  height:20px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

/* Inventory is intentionally a bordered composite control:
   the LABEL owns the border, therefore the inner input must not have one. */
body .inventory-search{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}
body #inventorySearchInput{
  -webkit-appearance:none!important;
  appearance:none!important;
  flex:1 1 auto!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0 4px!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  text-indent:0!important;
}
body #inventorySearchInput:hover,
body #inventorySearchInput:focus,
body #inventorySearchInput:focus-visible{
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body .inventory-search:focus-within{
  border-color:#1688ff!important;
  box-shadow:0 0 0 3px rgba(22,136,255,.13)!important;
}


/* V40.112 – Contacts persistent sorting */
.contacts85-bookbar{display:flex;align-items:center;justify-content:space-between;gap:14px}
.contacts112-sort{display:flex;align-items:center;gap:9px;margin:0}
.contacts112-sort label{font-size:.68rem;font-weight:750;color:var(--muted,#8397aa)}
.contacts112-sort select{min-width:160px;padding:8px 34px 8px 11px;border-radius:10px;font:inherit;font-size:.75rem}
body.theme-blue .contacts112-sort select{background:#084f80!important;color:#f6fbff!important;border-color:rgba(229,247,255,.22)!important}
@media(max-width:650px){.contacts85-bookbar{align-items:flex-start;flex-direction:column}.contacts112-sort{width:100%;justify-content:space-between}.contacts112-sort select{flex:1;max-width:240px}}

/* V40.113 – Contacts persistent name display */
.contacts113-options{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.contacts113-option{display:flex;align-items:center;gap:8px}
.contacts113-option label{white-space:nowrap}
.contacts113-options select{min-width:160px}
@media(max-width:800px){.contacts113-options{width:100%;justify-content:flex-start}.contacts113-option{flex:1 1 220px}.contacts113-options select{width:100%;max-width:none}}
@media(max-width:520px){.contacts113-option{flex-basis:100%}}


/* V40.121 – CardDAV diagnostics */
.dav121-diagnostics{margin-top:22px;padding-top:18px;border-top:1px solid var(--border,#dce5ed)}
.dav121-log-list{display:grid;gap:8px;margin-top:12px}.dav121-log-row{border:1px solid var(--border,#dce5ed);border-radius:12px;overflow:hidden}.dav121-log-row summary{display:grid;grid-template-columns:auto auto auto 1fr;align-items:center;gap:10px;padding:11px 13px;cursor:pointer}.dav121-log-row summary small{grid-column:1/-1;overflow-wrap:anywhere}.dav121-log-body{display:grid;gap:10px;padding:0 13px 13px}.dav121-log-body>div{display:grid;gap:4px}.dav121-log-body code,.dav121-log-body pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.72rem}.dav121-log-body pre{max-height:220px;overflow:auto;margin:0;padding:10px;border-radius:8px;background:rgba(127,127,127,.08)}
@media(max-width:650px){.dav121-log-row summary{grid-template-columns:auto auto 1fr}.dav121-log-row summary span{grid-column:1/-1}}

/* V40.123 CardDAV response diagnostics */
.dav123-props{display:block;white-space:normal;overflow-wrap:anywhere;line-height:1.5;margin-top:5px}

/* V40.139 Aufgaben UX */
.todo-card-content.edit-todo-card{cursor:pointer}
.todo-summary-card.mine.active,.todo-summary-card.overdue.active{border-color:#0A84FF!important;box-shadow:0 0 0 3px rgba(10,132,255,.12)!important}
.todo-calendar-toggle{display:flex!important;align-items:center;gap:10px;padding:10px 0}
.todo-calendar-toggle input{width:auto!important}

@media(min-width:821px){.todo-filterbar{grid-template-columns:minmax(190px,1fr) 145px 145px 130px 145px auto}}


/* ============================================================
   V40.143 – Login-Felder
   IMPORTANT: This lives in style.css because the application CSP
   explicitly uses style-src-attr 'none'. Inline style="" rules are
   therefore rejected by compliant browsers.
   ============================================================ */
body.auth-page .auth-form .fc-login-wrap {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  background: transparent;
  border: 0;
  border-radius: 12px;
  outline: 0;
  box-shadow: none;
  -webkit-box-shadow: none;
}

body.auth-page .auth-form .fc-login-wrap > input.fc-login-input,
body.auth-page .auth-form input.fc-login-input,
body.auth-page .auth-form input.fc-login-input[type="password"] {
  display: block !important;
  width: 100% !important;
  min-height: 48px !important;
  box-sizing: border-box !important;
  padding: 11px 14px 11px 38px !important;
  margin: 0 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  background: #EAF5FF !important;
  background-color: #EAF5FF !important;
  background-image: none !important;
  border: 1px solid #B7D8F3 !important;
  border-radius: 12px !important;
  outline: 0 !important;
  color: #20354A !important;
  caret-color: #0A84FF !important;
  box-shadow: none !important;
  -webkit-box-shadow: 0 0 0 1000px #EAF5FF inset !important;
}

body.auth-page .auth-form .fc-login-wrap > input.fc-login-input:focus,
body.auth-page .auth-form input.fc-login-input:focus {
  background: #F4FAFF !important;
  background-color: #F4FAFF !important;
  border-color: #58A9ED !important;
  box-shadow: 0 0 0 3px rgba(10,132,255,.12) !important;
  -webkit-box-shadow: 0 0 0 1000px #F4FAFF inset, 0 0 0 3px rgba(10,132,255,.12) !important;
}

body.auth-page .auth-form input.fc-login-input:-webkit-autofill,
body.auth-page .auth-form input.fc-login-input:-webkit-autofill:hover,
body.auth-page .auth-form input.fc-login-input:-webkit-autofill:focus,
body.auth-page .auth-form input.fc-login-input:-webkit-autofill:active {
  -webkit-text-fill-color: #20354A !important;
  caret-color: #0A84FF !important;
  background: #EAF5FF !important;
  background-color: #EAF5FF !important;
  -webkit-box-shadow: 0 0 0 1000px #EAF5FF inset !important;
  transition: background-color 9999s ease-out 0s !important;
}

body.auth-page .auth-form .fc-login-wrap .input-icon {
  z-index: 2;
  color: #5C8FB7 !important;
  pointer-events: none;
}
