  @import url('https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,400;0,500;0,600;0,700;1,600&display=swap');
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  :root{
    --blue:#1265B8;
    --bg:#F4F7FA;--surface:#fff;--surface2:#E8F0F8;
    --border:#D0DCE8;--border-strong:#B8CAD8;
    --text:#1C2B4A;--text-s:#4A6880;--text-t:#4A6880;
    --r:12px;--rs:8px;
    --sh:0 1px 3px rgba(28,43,74,.06),0 1px 2px rgba(28,43,74,.04);
    --sh-md:0 4px 16px rgba(28,43,74,.10),0 2px 6px rgba(28,43,74,.06);
  }
  /* DARK MODE */
  [data-theme="dark"]{
    color-scheme:dark;
    --blue:#4B96E6;
    --bg:#0F1219;--surface:#1A2035;--surface2:#1E2640;
    --border:#2B3650;--border-strong:#3D4F6B;
    --text:#E2EAF4;--text-s:#8BA3BE;--text-t:#566E8A;
    --blue-bg:#0D1B2E;
    --sh:0 1px 3px rgba(0,0,0,.25),0 1px 2px rgba(0,0,0,.18);
    --sh-md:0 4px 16px rgba(0,0,0,.35),0 2px 6px rgba(0,0,0,.22);
  }
  @media(prefers-color-scheme:dark){
    :root:not([data-theme="light"]){
      color-scheme:dark;
      --blue:#4B96E6;
      --bg:#0F1219;--surface:#1A2035;--surface2:#1E2640;
      --border:#2B3650;--border-strong:#3D4F6B;
      --text:#E2EAF4;--text-s:#8BA3BE;--text-t:#566E8A;
      --blue-bg:#0D1B2E;
      --sh:0 1px 3px rgba(0,0,0,.25),0 1px 2px rgba(0,0,0,.18);
      --sh-md:0 4px 16px rgba(0,0,0,.35),0 2px 6px rgba(0,0,0,.22);
    }
  }
  /* Dark mode: Badge- und Alert-Farben */
  [data-theme="dark"] .role-owner{background:#0D1B2E}
  [data-theme="dark"] .role-member{background:#0C2E1E;color:#34D399}
  [data-theme="dark"] .role-viewer{background:#1E2640;color:#8BA3BE}
  [data-theme="dark"] .ga-badge{background:#2D1D0A;color:#FCA827}
  [data-theme="dark"] .badge-admin{background:#2D1D0A;color:#FCA827}
  [data-theme="dark"] .badge-tmp{background:#2D1010;color:#F87171}
  [data-theme="dark"] .badge-2fa{background:#0C2E1E;color:#34D399}
  [data-theme="dark"] .phv-future{background:#2D1D0A;color:#FCA827;border-color:#5C3A10}
  [data-theme="dark"] .phv-up-badge{background:#2D1D0A;color:#FCA827;border-color:#5C3A10}
  [data-theme="dark"] .force-pw-banner{background:#2D1D0A;border-color:#5C3A10}
  @media(prefers-color-scheme:dark){
    :root:not([data-theme="light"]) .role-owner{background:#0D1B2E}
    :root:not([data-theme="light"]) .role-member{background:#0C2E1E;color:#34D399}
    :root:not([data-theme="light"]) .role-viewer{background:#1E2640;color:#8BA3BE}
    :root:not([data-theme="light"]) .ga-badge{background:#2D1D0A;color:#FCA827}
    :root:not([data-theme="light"]) .badge-admin{background:#2D1D0A;color:#FCA827}
    :root:not([data-theme="light"]) .badge-tmp{background:#2D1010;color:#F87171}
    :root:not([data-theme="light"]) .badge-2fa{background:#0C2E1E;color:#34D399}
    :root:not([data-theme="light"]) .phv-future{background:#2D1D0A;color:#FCA827;border-color:#5C3A10}
    :root:not([data-theme="light"]) .phv-up-badge{background:#2D1D0A;color:#FCA827;border-color:#5C3A10}
    :root:not([data-theme="light"]) .force-pw-banner{background:#2D1D0A;border-color:#5C3A10}
  }
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
  body{font-family:'Inter',Arial,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;font-size:14px;line-height:1.5}

  /* LOADER */
  #app-loader{position:fixed;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;z-index:1000;flex-direction:column;gap:12px}
  .spinner{width:28px;height:28px;border:2.5px solid var(--border-strong);border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite}
  @keyframes spin{to{transform:rotate(360deg)}}
  .loader-text{font-size:13px;color:var(--text-t)}

  /* LOGIN */
  #login-screen{display:none;align-items:center;justify-content:center;min-height:100vh;padding:1rem 1rem 3.5rem;flex-direction:column;gap:1.5rem;background:url('../assets/abofux-body-background.jpg') center/cover no-repeat var(--bg)}
  #login-screen.visible{display:flex}
  @media(max-width:768px){#login-screen{background-image:url('../assets/abofux-body-background-mobile.jpg')}}
  .login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh-md);width:100%;max-width:360px;padding:2.5rem 2rem}
  .login-branding{width:100%;max-width:360px;display:flex;justify-content:center}
  .login-branding a{display:flex;align-items:center;opacity:.85;transition:opacity .15s}
  .login-branding a:hover{opacity:1}
  .login-footer{font-size:11px;color:var(--text-t);text-align:center;line-height:1.7}
  .login-footer a{color:var(--blue);text-decoration:none}
  .login-footer a:hover{text-decoration:underline}
  .login-secondary-actions{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;flex-wrap:wrap}
  .login-text-btn{background:none;border:none;font-family:'Inter',Arial,sans-serif;font-size:12px;color:var(--text-t);cursor:pointer;text-decoration:none;padding:0;line-height:1}
  .login-text-btn:hover{color:var(--text-s);text-decoration:underline}
  .login-text-link{display:inline}
  .login-secondary-sep{font-size:12px;color:var(--border-strong);user-select:none;line-height:1}
  .global-footer{position:fixed;bottom:0;left:0;right:0;font-size:11px;color:var(--text-t);text-align:center;line-height:1.7;padding:7px 1rem calc(9px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);z-index:40}
  .global-footer a{color:var(--blue);text-decoration:none}
  .global-footer a:hover{text-decoration:underline}
  /* Datenschutz-Modal */
  #ds-ov .modal{max-width:680px}
  .ds-body{overflow-y:auto;padding:1.5rem 1.75rem 1.75rem;flex:1}
  .ds-lead{background:var(--blue-bg,#EFF6FF);border-left:3px solid var(--blue);border-radius:6px;padding:.75rem 1rem;margin:0 0 1.5rem;font-size:.875rem;line-height:1.6;color:var(--text)}
  .ds-sec{margin-bottom:1.25rem}
  .ds-sec h3{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-t);margin:0 0 .5rem}
  .ds-sec p{font-size:.875rem;line-height:1.65;color:var(--text);margin:0}
  .ds-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:.5rem}
  .ds-card{background:var(--surface2,#F8F9FB);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem}
  .ds-card-title{font-size:.8rem;font-weight:600;margin-bottom:.4rem;color:var(--text)}
  .ds-card ul{margin:0;padding-left:1.1rem;font-size:.8rem;line-height:1.7;color:var(--text-t)}
  .ds-stand{font-size:.75rem;color:var(--text-t);margin-top:1.5rem;text-align:right}
  @media(max-width:600px){.ds-grid{grid-template-columns:1fr}.ds-body{padding:1rem 1.1rem 1.25rem}}
  /* Preisverlauf im Modal */
  .phv-wrap{background:var(--surface2);border-radius:var(--rs);padding:10px 12px;margin-top:4px;display:flex;flex-direction:column;gap:8px}
  .phv-empty{font-size:12px;color:var(--text-t);padding:2px 0}
  .phv-entry{display:flex;align-items:center;gap:8px;font-size:12px}
  .phv-date{color:var(--text-s);min-width:80px}
  .phv-cost{font-weight:600;color:var(--text);min-width:80px}
  .phv-lbl{font-size:10px;font-weight:600;padding:2px 7px;border-radius:100px}
  .phv-past{background:var(--border);color:var(--text-t)}
  .phv-future{background:#FEF3C7;color:#B45309;border:1px solid #FDE68A}
  .phv-del{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--text-t);font-size:15px;line-height:1;padding:0 2px}
  .phv-del:hover{color:#DC2626}
  .phv-add{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
  .phv-add input[type=date],.phv-add input[type=number]{flex:1;min-width:0;padding:7px 10px;border:1px solid var(--border-strong);border-radius:var(--rs);background:var(--bg);font-family:'Inter',Arial,sans-serif;font-size:12px;color:var(--text)}
  /* Badge in Abo-Liste */
  .phv-up-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:600;color:#B45309;background:#FEF3C7;border:1px solid #FDE68A;border-radius:100px;padding:1px 7px;margin-left:6px;vertical-align:middle;white-space:nowrap}
  /* Ausgabenentwicklung — Änderungslog */
  .spend-log{margin-top:1.25rem;border-top:1px solid var(--border);padding-top:1rem;display:flex;flex-direction:column;gap:2px}
  .spend-log-section{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-t);margin:8px 0 4px;padding-bottom:4px;border-bottom:1px solid var(--border)}
  .spend-log-section:first-child{margin-top:0}
  .spend-log-future{color:#D97706}
  .spend-log-row{display:grid;grid-template-columns:90px 1fr auto auto;align-items:center;gap:8px;padding:5px 6px;border-radius:6px;font-size:12px}
  .spend-log-row:hover{background:var(--surface2)}
  .spend-log-date{color:var(--text-t);font-size:11px;white-space:nowrap}
  .spend-log-name{display:flex;align-items:center;gap:6px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .spend-log-cost{color:var(--text-s);white-space:nowrap;text-align:right}
  .spend-log-cost small{font-size:10px;color:var(--text-t)}
  .spend-log-delta{font-size:11px;white-space:nowrap;text-align:right;min-width:80px}
  @media(max-width:600px){.spend-log-row{grid-template-columns:80px 1fr auto}.spend-log-delta{display:none}}
  .login-logo{display:flex;align-items:center;gap:10px;margin-bottom:2rem}
  .login-icon{width:44px;height:44px;object-fit:contain}
  .login-title{font-size:16px;font-weight:600;letter-spacing:-.02em;margin:0;line-height:inherit}
  .login-sub{font-size:11px;color:var(--text-t)}
  .lf{margin-bottom:14px}
  .lf label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-s);margin-bottom:5px}
  .lf input{width:100%;padding:9px 12px;border:1px solid var(--border-strong);border-radius:var(--rs);background:var(--bg);font-family:'Inter',Arial,sans-serif;font-size:14px;color:var(--text);outline:none;transition:border-color .15s}
  .lf input:focus{border-color:var(--blue);background:var(--surface)}
  .login-btn{width:100%;padding:10px;border-radius:var(--rs);border:none;background:var(--blue);color:#fff;font-family:'Inter',Arial,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s;margin-top:6px}
  .login-btn:hover{opacity:.85}
  .login-btn:disabled{opacity:.5;cursor:not-allowed}
  .login-error{font-size:12px;color:#DC2626;margin-top:10px;text-align:center;min-height:18px}

  /* TENANT SELECTION SCREEN */
  #tenant-screen{display:none;min-height:100vh;background:var(--bg)}
  .ts-wrap{max-width:640px;margin:0 auto;padding:3rem 2rem 4rem}
  .ts-title{font-size:20px;font-weight:600;letter-spacing:-.02em;margin-bottom:6px}
  .ts-sub{font-size:13px;color:var(--text-s);margin-bottom:2rem}
  .ts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:1.5rem}
  .tenant-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:1.5rem;cursor:pointer;transition:all .18s;box-shadow:var(--sh);display:flex;flex-direction:column;gap:10px}
  .tenant-card:hover{box-shadow:var(--sh-md);transform:translateY(-2px);border-color:var(--blue)}
  .tc-name{font-size:15px;font-weight:600;color:var(--text)}
  .tc-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .role-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:100px}
  .role-owner{background:#E8F0F8;color:var(--blue)}
  .role-member{background:#ECFDF5;color:#059669}
  .role-viewer{background:#F4F4F5;color:#6B7280}
  .tc-date{font-size:11px;color:var(--text-t)}
  .ts-actions{display:flex;gap:8px;flex-wrap:wrap}

  /* GLOBAL ADMIN SCREEN */
  #admin-screen{display:none;min-height:100vh;background:var(--bg)}
  .ga-header{background:var(--surface);border-bottom:1px solid var(--border);padding:0 2rem;height:56px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}
  .ga-title-wrap{display:flex;align-items:center;gap:10px}
  .ga-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:100px;background:#FFF7ED;color:#D97706}
  .ga-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;margin-bottom:1.5rem}
  .ga-section-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-t);padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--bg)}
  .ga-table{width:100%;border-collapse:collapse}
  .ga-table th{padding:9px 14px;text-align:left;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-t);background:var(--bg);border-bottom:1px solid var(--border)}
  .ga-table td{padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle}
  .ga-table tr:last-child td{border-bottom:none}
  .ga-create{padding:1rem 1.25rem;border-top:1px solid var(--border);background:var(--surface)}
  .ga-create .fld input,.ga-create .fld select{padding:9px 14px}
  .ga-tabs-bar{display:flex;align-items:center;gap:6px;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}
  .ga-tab{display:flex;align-items:center;gap:6px;background:none;border:none;padding:7px 14px;font-size:13px;font-weight:500;color:var(--text-s);cursor:pointer;border-radius:var(--rs);transition:color .2s,background .2s;font-family:'Inter',Arial,sans-serif;white-space:nowrap;letter-spacing:-.01em;line-height:1}
  .ga-tab svg{flex-shrink:0;width:14px;height:14px;transition:color .2s}
  .ga-tab:hover:not(.active){color:var(--text);background:var(--surface2)}
  .ga-tab.active{background:var(--blue);color:#fff;font-weight:600;box-shadow:0 2px 8px rgba(18,101,184,.25)}
  .ga-tab.active svg{color:#fff}
  @keyframes gaFadeIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
  .ga-panel-in{animation:gaFadeIn .18s ease}
  /* Utility-Klassen (ersetzt wiederkehrende inline styles) */
  .form-subhead{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-t);margin-bottom:10px}
  .err-msg{font-size:12px;color:#DC2626}
  .ok-msg{font-size:13px;color:#059669}
  .action-row{margin-top:10px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
  .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}
  .grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;align-items:end}

  /* APP */
  #app{display:none}
  #app.visible{display:block}

  /* HEADER */
  header{background:var(--surface);border-bottom:1px solid var(--border);padding:0 2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;height:56px}
  .logo{display:flex;align-items:center;gap:10px}
  .logo-icon{width:28px;height:28px;object-fit:contain}
  .logo-text{font-size:15px;font-weight:600;letter-spacing:-.02em}
  .logo-sub{font-size:10px;color:var(--text-t)}
  #tenant-name-header{font-size:11px;font-weight:500;padding:3px 10px;border-radius:100px;background:var(--surface2);border:1px solid var(--border);color:var(--text-s);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .header-right{display:flex;align-items:center;gap:8px}

  /* NAV */
  nav{background:var(--surface);border-bottom:1px solid var(--border);padding:0 2rem;display:flex}
  .nav-tab{display:flex;align-items:center;gap:6px;padding:12px 18px;font-size:13px;font-weight:500;color:var(--text-t);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;background:none;border-top:none;border-left:none;border-right:none;font-family:'Inter',Arial,sans-serif}
  .nav-tab svg{width:14px;height:14px}
  .nav-tab:hover{color:var(--text)}
  .nav-tab.active{color:var(--blue);border-bottom-color:var(--blue)}
  .page{display:none}.page.active{display:block}
  main{max-width:1100px;margin:0 auto;padding:2rem 2rem 4rem}
  .cl-list{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:5px}
  .cl-list li{font-size:13px;color:var(--text-s);line-height:1.5}
  .cl-list li code{font-family:'DM Mono',monospace;font-size:12px;background:var(--bg);padding:1px 5px;border-radius:4px;border:1px solid var(--border)}

  /* SUMMARY */
  .summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:2rem}
  .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:1.25rem;box-shadow:var(--sh)}
  .card-label{font-size:10px;font-weight:600;color:var(--text-t);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}
  .card-value{font-size:24px;font-weight:600;letter-spacing:-.03em;color:var(--text)}
  .card-sub{font-size:11px;color:var(--text-t);margin-top:4px}
  .card.hl{background:var(--blue);border-color:var(--blue)}
  .card.hl .card-label,.card.hl .card-sub{color:rgba(255,255,255,.45)}
  .card.hl .card-value{color:#fff}

  /* TOOLBAR */
  .toolbar{display:flex;gap:8px;margin-bottom:1rem;flex-wrap:wrap;align-items:center}
  .sw{position:relative;flex:1;min-width:180px}
  .sw svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--text-t);pointer-events:none}
  .sw input{width:100%;padding:8px 12px 8px 32px;border:1px solid var(--border-strong);border-radius:var(--rs);background:var(--surface);font-family:'Inter',Arial,sans-serif;font-size:13px;color:var(--text);outline:none;transition:border-color .15s}
  .sw input:focus{border-color:var(--blue)}
  select{padding:8px 28px 8px 12px;border:1px solid var(--border-strong);border-radius:var(--rs);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234A6880' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;font-family:'Inter',Arial,sans-serif;font-size:13px;color:var(--text);outline:none;cursor:pointer;-webkit-appearance:none;appearance:none}
  select:focus{border-color:var(--blue)}
  .btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--rs);border:1px solid var(--border-strong);background:var(--surface);font-family:'Inter',Arial,sans-serif;font-size:13px;font-weight:500;color:var(--text);cursor:pointer;transition:all .15s;white-space:nowrap}
  .btn:hover{background:var(--surface2)}
  .btn-p{background:var(--blue);color:#fff;border-color:var(--blue)}
  .btn-icon{padding:6px;width:34px;height:34px;justify-content:center;flex-shrink:0}
  .btn-p:hover{opacity:.85;background:var(--blue)}
  .btn svg{width:14px;height:14px;flex-shrink:0}
  .btn-danger{color:#DC2626;border-color:rgba(220,38,38,.25)}
  .btn-danger:hover{background:#FEF2F2}

  /* TABLE */
  .table-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden}
  table{width:100%;border-collapse:collapse}
  thead{border-bottom:1px solid var(--border)}
  th{padding:10px 16px;text-align:left;font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-t);background:var(--bg);white-space:nowrap}
  td{padding:11px 16px;border-bottom:1px solid var(--border);vertical-align:middle}
  tr:last-child td{border-bottom:none}
  tbody tr{transition:background .1s}
  tbody tr.clickable{cursor:pointer}
  tbody tr.clickable:hover td{background:var(--surface2)}
  .nc strong{font-weight:500;display:block}
  .nc span{font-size:11px;color:var(--text-t);display:block;margin-top:1px}
  .badge{display:inline-block;font-size:10px;font-weight:600;letter-spacing:.04em;padding:3px 8px;border-radius:100px;white-space:nowrap}
  .sdot{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500}
  .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
  .dot-a{background:#10B981}.dot-p{background:#F59E0B}.dot-g{background:#EF4444}
  .s-a{color:#059669}.s-p{color:#D97706}.s-g{color:#DC2626}
  .mono{font-size:13px}
  .xbtn{background:none;border:none;cursor:pointer;color:var(--text-t);padding:4px 6px;border-radius:6px;font-size:18px;line-height:1;transition:all .15s;display:flex;align-items:center;justify-content:center}
  .xbtn:hover{color:#EF4444;background:#FEF2F2}
  .xbtn-confirm{color:#DC2626!important;background:#FEF2F2!important;font-size:14px!important;font-weight:700;padding:4px 8px!important}
  .empty{text-align:center;padding:4rem 2rem;color:var(--text-t)}
  .empty .ei{font-size:32px;margin-bottom:1rem;display:block}
  .empty p{font-size:14px}
  .empty .eh{font-size:12px;margin-top:6px}

  /* DASHBOARD */
  .ybar{display:flex;align-items:center;gap:10px;margin-bottom:1.5rem;flex-wrap:wrap}
  .ybar h2{font-size:15px;font-weight:600;flex:1}
  .ybtn{padding:5px 12px;border-radius:100px;border:1px solid var(--border-strong);background:var(--surface);font-size:12px;font-weight:500;cursor:pointer;font-family:'Inter',Arial,sans-serif;color:var(--text);transition:all .15s}
  .ybtn.active{background:var(--blue);color:#fff;border-color:var(--blue)}
  .ybtn:hover:not(.active){background:var(--surface2)}
  .dg2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
  .dg-wide{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:16px}
  .dc{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:1.25rem;box-shadow:var(--sh)}
  .dct{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-t);margin-bottom:1rem}
  .cw{position:relative;width:100%}.cw canvas{width:100%!important}
  .dl{display:flex;align-items:center;gap:1.5rem}
  .dw{flex-shrink:0;width:180px;height:180px;position:relative}
  .dctr{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
  .dctr-v{font-size:17px;font-weight:600;letter-spacing:-.02em}
  .dctr-l{font-size:10px;color:var(--text-t);margin-top:2px}
  .lgnd{flex:1;display:flex;flex-direction:column;gap:8px}
  .lr{display:flex;align-items:center;gap:8px}
  .ldot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
  .ln{font-size:12px;flex:1;color:var(--text-s)}
  .lv{font-size:12px;font-weight:500}
  .tl{display:flex;flex-direction:column;gap:10px}
  .tr2{display:flex;align-items:center;gap:10px}
  .trk{font-size:10px;font-weight:600;color:var(--text-t);width:16px;flex-shrink:0}
  .tn2{font-size:13px;font-weight:500}
  .ts2{font-size:11px;color:var(--text-t)}
  .tc2{font-size:13px;font-weight:500}
  .tbw{width:100%;height:3px;background:var(--surface2);border-radius:2px;margin-top:4px}
  .tb{height:3px;border-radius:2px}

  /* CATEGORY MANAGER */
  .cat-grid{display:flex;flex-direction:column;gap:8px}
  .cat-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--rs)}
  .cat-swatch{width:12px;height:12px;border-radius:50%;flex-shrink:0;cursor:pointer;transition:transform .15s}
  .cat-swatch:hover{transform:scale(1.25)}
  .cat-name{flex:1;font-size:13px;font-weight:500}
  .cat-count{font-size:11px;color:var(--text-t)}
  .cat-builtin{font-size:10px;color:var(--text-t);padding:2px 6px;border-radius:4px;background:var(--surface2)}
  .cat-add-row{display:flex;gap:8px;margin-top:4px}
  .cat-add-row input{flex:1;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--rs);background:var(--bg);font-family:'Inter',Arial,sans-serif;font-size:13px;color:var(--text);outline:none}
  .cat-add-row input:focus{border-color:var(--blue);background:var(--surface)}
  .color-popover{display:none;position:fixed;z-index:400;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--rs);padding:10px;box-shadow:var(--sh-md);flex-wrap:wrap;gap:6px;width:186px}
  .color-popover.open{display:flex}
  .cp-swatch{width:22px;height:22px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:transform .1s}
  .cp-swatch:hover,.cp-swatch.sel{transform:scale(1.15);border-color:var(--blue)}

  /* USER MANAGEMENT */
  .user-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--rs)}
  .user-avatar{width:32px;height:32px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}
  .user-info{flex:1;min-width:0}
  .user-name{font-size:13px;font-weight:500}
  .user-meta{font-size:11px;color:var(--text-t)}
  .badge-admin{font-size:10px;font-weight:600;padding:2px 7px;border-radius:100px;background:#FFF7ED;color:#D97706}
  .badge-tmp{font-size:10px;font-weight:600;padding:2px 7px;border-radius:100px;background:#FEF2F2;color:#DC2626}
  .badge-2fa{font-size:10px;font-weight:600;padding:2px 7px;border-radius:100px;background:#F0FDF4;color:#059669}
  .user-actions{display:flex;gap:6px;flex-shrink:0}
  .icon-btn{background:none;border:1px solid var(--border-strong);border-radius:var(--rs);cursor:pointer;padding:5px 8px;color:var(--text-s);font-size:11px;font-weight:500;display:flex;align-items:center;gap:4px;transition:all .15s;font-family:'Inter',Arial,sans-serif;white-space:nowrap}
  .icon-btn:hover{background:var(--surface2)}
  .icon-btn svg{width:12px;height:12px}
  .icon-btn.danger{color:#DC2626;border-color:rgba(220,38,38,.25)}
  .icon-btn.danger:hover{background:#FEF2F2}
  .icon-btn.danger:disabled{color:var(--text-t);border-color:var(--border);cursor:not-allowed;opacity:.5}
  .icon-btn.danger-armed{color:#D97706;border-color:rgba(217,119,6,.4);background:#FFFBEB;font-weight:600}
  .icon-btn.danger-armed:hover{background:#FEF3C7}
  .tmp-pw-box{background:var(--surface2);border:1px solid var(--border-strong);border-radius:var(--rs);padding:10px 14px;font-size:16px;font-weight:600;letter-spacing:.05em;margin-top:10px;text-align:center;cursor:pointer}
  .force-pw-banner{background:#FFF7ED;border:1px solid #FED7AA;border-radius:var(--r);padding:1.25rem;margin-bottom:1.5rem;display:flex;align-items:flex-start;gap:12px}
  .force-pw-banner svg{width:20px;height:20px;color:#D97706;flex-shrink:0;margin-top:1px}
  .hint{font-size:11px;color:var(--text-t);margin-top:4px}

  /* MODAL */
  .ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:200;backdrop-filter:blur(2px);align-items:center;justify-content:center;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));overflow-y:auto}
  .ov.open{display:flex}
  .modal{background:var(--surface);border-radius:var(--r);box-shadow:var(--sh-md);width:100%;max-width:420px;overflow:hidden;animation:su .2s ease;box-sizing:border-box;display:flex;flex-direction:column;max-height:calc(100dvh - 2rem)}
  .mh{flex-shrink:0}
  .mb{overflow-y:auto;flex:1}
  .mf{flex-shrink:0}
  .modal-lg{max-width:520px}
  @keyframes su{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
  .mh{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
  .mh h2{font-size:15px;font-weight:600}
  .mc{background:none;border:none;cursor:pointer;color:var(--text-t);font-size:20px;line-height:1;padding:2px;border-radius:4px;transition:color .15s}
  .mc:hover{color:var(--text)}
  .mb{padding:1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .mb-s{padding:1.5rem;display:flex;flex-direction:column;gap:12px}
  .fld{display:flex;flex-direction:column;gap:4px}
  .fld.full{grid-column:1/-1}
  .fld label{font-size:10px;font-weight:600;color:var(--text-s);text-transform:uppercase;letter-spacing:.06em}
  .fld input,.fld select{padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--rs);background:var(--bg);font-family:'Inter',Arial,sans-serif;font-size:13px;color:var(--text);outline:none;transition:border-color .15s;width:100%}
  .fld input:focus,.fld select:focus{border-color:var(--blue);background:var(--surface)}
  .mf{padding:1rem 1.5rem;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end}

  /* TENANT MODAL TABS */
  .tab-bar{display:flex;border-bottom:1px solid var(--border);padding:0 1.5rem;margin-bottom:0}
  .tab-btn{padding:10px 16px;border:none;background:none;font-family:'Inter',Arial,sans-serif;font-size:13px;font-weight:500;color:var(--text-t);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;margin-bottom:-1px}
  .tab-btn.active{color:var(--blue);border-bottom-color:var(--blue)}
  .tab-content{padding:1.5rem;display:none}
  .tab-content.active{display:block}
  .member-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--rs);margin-bottom:8px}
  .member-info{flex:1;min-width:0}
  .member-name{font-size:13px;font-weight:500}
  .member-meta{font-size:11px;color:var(--text-t)}
  .member-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}

  /* EXPORT DROPDOWN */
  .ew{position:relative}
  .em{display:none;position:absolute;top:calc(100% + 6px);right:0;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--rs);box-shadow:var(--sh-md);min-width:200px;z-index:100;overflow:hidden}
  .em.open{display:block}
  .ei2{display:flex;align-items:center;gap:8px;padding:9px 14px;font-size:13px;color:var(--text);cursor:pointer;transition:background .1s;border:none;background:none;width:100%;font-family:'Inter',Arial,sans-serif;text-align:left}
  .ei2:hover{background:var(--surface2)}
  .ei2 svg{width:14px;height:14px;color:var(--text-t)}
  .em-sep{height:1px;background:var(--border);margin:4px 0}

  /* SYNC INDICATOR */
  .sync-dot{width:6px;height:6px;border-radius:50%;background:#10B981;display:inline-block;margin-right:4px;transition:background .3s}
  .sync-dot.saving{background:#F59E0B;animation:pulse .8s ease-in-out infinite}
  .sync-dot.error{background:#EF4444}
  @keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

  /* TROPHY MODAL */
  #trophy-ov{align-items:center;justify-content:center}
  .trophy-wrap{display:flex;flex-direction:column;align-items:center;width:100%;max-width:320px}
  .trophy-img-wrap{position:relative;z-index:1;margin-bottom:-50px}
  .trophy-img{width:160px;height:160px;mix-blend-mode:multiply}
  .trophy-card{background:var(--surface);border-radius:20px;box-shadow:var(--sh-md);width:100%;padding:68px 1.75rem 1.75rem;text-align:center;animation:su .25s ease}
  .trophy-title{font-size:1.15rem;font-weight:700;color:var(--blue);line-height:1.35;margin-bottom:1.5rem}
  .trophy-btn{display:block;width:100%;background:var(--blue);color:#fff;border:none;border-radius:100px;padding:.75rem 1rem;font-size:1rem;font-weight:600;font-family:'Inter',Arial,sans-serif;cursor:pointer;transition:opacity .15s}
  .trophy-btn:hover{opacity:.88}

  /* TOAST */
  .toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%) translateY(20px);background:var(--text);color:#fff;padding:10px 18px;border-radius:100px;font-size:13px;font-weight:500;opacity:0;transition:all .25s ease;pointer-events:none;z-index:999;white-space:nowrap;display:flex;align-items:center}
  .toast.show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
  .toast-undo-btn{all:unset;margin-left:14px;padding:2px 10px;border-radius:4px;border:1px solid rgba(255,255,255,.45);color:#fff;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s;font-family:inherit}
  .toast-undo-btn:hover{background:rgba(255,255,255,.18)}

  @media(max-width:720px){
    main{padding:1rem 1rem calc(88px + env(safe-area-inset-bottom))}header{padding:0 1rem}nav{padding:0 1rem}
    .summary{grid-template-columns:repeat(2,1fr)}
    .dg2,.dg-wide{grid-template-columns:1fr}
    th:nth-child(4),th:nth-child(5),td:nth-child(4),td:nth-child(5){display:none}
    .mb{grid-template-columns:1fr}
    .dl{flex-direction:column}.dw{width:160px;height:160px}
    .ts-grid{grid-template-columns:1fr}
  }

  @media(max-width:600px){
    #tenant-name-header{display:none!important}
    .header-right .btn-txt{display:none}
    .header-right .btn{padding:8px 10px;min-width:0}
    #btn-switch-tenant .btn-txt{display:none}
  }

  /* BELL BUTTON */
  .bell-btn{background:none;border:none;cursor:pointer;padding:3px;border-radius:4px;color:var(--border-strong);display:inline-flex;align-items:center;transition:all .15s;vertical-align:middle;margin-right:2px}
  .bell-btn svg{width:14px;height:14px}
  .bell-btn:hover{color:var(--blue);background:var(--surface2)}
  .bell-btn.bell-on{color:#D97706}
  .bell-btn.bell-on:hover{color:#B45309;background:#FFF7ED}
  .bell-btn.bell-disabled{opacity:.35;cursor:not-allowed}
  .bell-btn.bell-disabled:hover{background:none;color:var(--border-strong)}

  /* SUGGESTIONS STRIP */
  .sugg-wrap{padding:.75rem 1.5rem .875rem;border-bottom:1px solid var(--border);margin-bottom:1rem}
  .sugg-toggle{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-t);margin-bottom:.6rem;background:none;border:none;cursor:pointer;padding:0;font-family:inherit}
  .sugg-toggle:hover{color:var(--text)}
  .sugg-chevron{transition:transform .2s;color:var(--text-t);flex-shrink:0}
  .sugg-wrap.sugg-collapsed .sugg-chevron{transform:rotate(-90deg)}
  .sugg-wrap.sugg-collapsed .sugg-scroll{display:none}
  .sugg-wrap.sugg-collapsed{padding-bottom:.75rem}
  .sugg-scroll{max-height:192px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}
  .sugg-scroll::-webkit-scrollbar{width:4px}
  .sugg-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}
  .sugg-group{margin-bottom:.625rem}
  .sugg-group:last-child{margin-bottom:0}
  .sugg-cat{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-t);margin-bottom:.35rem}
  .sugg-chips{display:flex;flex-wrap:wrap;gap:5px}
  .sugg-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px 4px 7px;border-radius:100px;border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;font-size:12px;font-weight:500;color:var(--text);transition:background .12s,border-color .12s,color .12s;font-family:'Inter',Arial,sans-serif}
  .sugg-chip:hover,.sugg-chip:active{border-color:var(--blue);background:var(--blue);color:#fff}
  .sugg-chip:hover .sugg-price,.sugg-chip:active .sugg-price{color:rgba(255,255,255,.75)}
  .sugg-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
  .sugg-name{font-weight:500}
  .sugg-price{font-size:10px;font-weight:400;color:var(--text-t);margin-left:1px}

  /* ASSIGNEE CHECKBOXES */
  .asgn-cb{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--rs);border:1px solid var(--border-strong);background:var(--bg);cursor:pointer;font-size:13px;font-weight:400;text-transform:none;letter-spacing:0;user-select:none;transition:all .15s;color:var(--text)}
  .asgn-cb:has(input:checked){background:var(--surface2);border-color:var(--blue);color:var(--blue)}
  .asgn-cb input[type=checkbox]{width:auto;padding:0;border:none;background:transparent;border-radius:0;transition:none;accent-color:var(--blue);cursor:pointer;flex-shrink:0}

  /* REDUNDANCY */
  .rdc{background:var(--surface);border:1px solid var(--border);border-left:3px solid #D97706;border-radius:var(--rs);padding:1rem 1.25rem;margin-bottom:10px;box-shadow:var(--sh)}
  .rdc-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
  .rdc-warn{font-size:11px;color:#D97706;font-weight:600}
  .rdc-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
  .rdc-pill{font-size:12px;font-weight:500;padding:4px 10px;border-radius:100px;background:var(--surface2);border:1px solid var(--border-strong);color:var(--text-s)}

  /* PERSON COSTS */
  .pc-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
  .pc-name{font-size:13px;font-weight:500;min-width:110px;flex-shrink:0;color:var(--text)}
  .pc-barw{flex:1;height:10px;background:var(--surface2);border-radius:5px;overflow:hidden;min-width:60px}
  .pc-bar{height:100%;border-radius:5px;transition:width .4s ease}
  .pc-val{font-size:13px;font-weight:500;color:var(--text);min-width:100px;text-align:right;flex-shrink:0}

  /* SAVINGS */
  .sav-sum{background:var(--surface2);border-radius:var(--rs);padding:10px 14px;margin-bottom:1.25rem;border:1px solid var(--border)}
  .sav-sum-main{font-size:15px;font-weight:600;color:var(--text)}
  .sav-sum-sub{font-size:12px;color:var(--text-s);margin-top:2px}
  .sav-row{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
  .sav-name{font-size:13px;font-weight:500;min-width:110px;flex-shrink:0;color:var(--text)}
  .sav-bars{flex:1;min-width:160px;display:flex;flex-direction:column;gap:4px}
  .sav-bar-row{display:flex;align-items:center;gap:8px}
  .sav-bar-lbl-type{font-size:10px;color:var(--text-t);width:54px;flex-shrink:0}
  .sav-bar-bg{flex:1;height:8px;background:var(--surface2);border-radius:4px;overflow:hidden;min-width:40px}
  .sav-bar-fill{height:100%;border-radius:4px;transition:width .4s ease}
  .sav-bar-lbl{font-size:11px;color:var(--text-s);min-width:80px;text-align:right;flex-shrink:0}
  .sav-diff{font-size:12px;font-weight:600;color:#059669;min-width:100px;text-align:right;flex-shrink:0}

  /* CANCELLATION ACCORDION */
  .cal-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:1rem 1.25rem;background:none;border:none;cursor:pointer;font-family:'Inter',Arial,sans-serif;transition:background .15s;text-align:left;color:inherit;border-radius:var(--r) var(--r) 0 0}
  .cal-toggle:hover{background:var(--surface2)}
  .cal-chevron{margin-left:auto;flex-shrink:0;color:var(--text-t);transition:transform .22s ease}
  .cal-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}
  .cal-body.open{grid-template-rows:1fr}
  .cal-body-inner{overflow:hidden}
  .cal-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid transparent;border-radius:var(--r);padding:14px 18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;box-shadow:0 2px 8px rgba(28,43,74,.07),0 1px 3px rgba(28,43,74,.05);transition:box-shadow .18s,filter .18s}
  .cal-card:hover{filter:brightness(.97);box-shadow:0 6px 20px rgba(28,43,74,.11),0 2px 6px rgba(28,43,74,.07)}
  .cal-main{flex:1;min-width:150px}
  .cal-name{font-size:14px;font-weight:600;color:var(--text);margin-bottom:6px;letter-spacing:-.01em}
  .cal-chips{display:flex;flex-wrap:wrap;gap:4px}
  .cal-chip{font-size:11px;font-weight:500;padding:2px 8px;border-radius:5px;background:var(--surface2);border:1px solid var(--border);color:var(--text-s);white-space:nowrap;line-height:1.6}
  .cal-vsep{width:1px;background:var(--border);align-self:stretch;flex-shrink:0;border-radius:1px}
  .cal-dates{flex-shrink:0;display:flex;flex-direction:column;gap:5px;text-align:right}
  .cal-date-row{display:flex;align-items:baseline;justify-content:flex-end;gap:7px}
  .cal-date-lbl{font-size:11px;color:var(--text-t);white-space:nowrap}
  .cal-date-val{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap}
  .cal-date-sub{font-size:12px;font-weight:500;color:var(--text-s)}
  .cal-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:5px 12px;border-radius:100px;flex-shrink:0;white-space:nowrap;border:1.5px solid transparent;line-height:1.4}
  @media(max-width:720px){.cal-vsep{display:none}.cal-dates{text-align:left}}

  /* SPONSORING MODAL */
  .sp-top{font-size:13px;color:var(--text-s);line-height:1.6;margin-bottom:1.25rem}
  .sp-stats{display:flex;gap:1.25rem;flex-wrap:wrap;margin-bottom:1rem}
  .sp-stat{flex:1;min-width:100px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--rs);padding:10px 14px}
  .sp-stat-lbl{font-size:11px;color:var(--text-t);margin-bottom:3px}
  .sp-stat-val{font-size:16px;font-weight:700;color:var(--text)}
  .sp-stat-sub{font-size:11px;color:var(--text-s);margin-top:2px}
  .sp-bar-wrap{margin-bottom:1.5rem}
  .sp-bar{height:12px;background:var(--surface2);border-radius:6px;overflow:hidden;border:1px solid var(--border)}
  .sp-bar-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,#059669,#10B981);transition:width .5s ease}
  .sp-bar-labels{display:flex;justify-content:space-between;margin-top:5px;font-size:11px;color:var(--text-t)}
  .sp-pay{display:flex;gap:1.25rem;flex-wrap:wrap;margin-bottom:1.25rem}
  .sp-pay-col{flex:1;min-width:160px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--rs);padding:1rem}
  .sp-pay-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-t);margin-bottom:10px}
  .sp-pay-num{font-size:18px;font-weight:700;color:var(--text);letter-spacing:.02em;margin-bottom:8px}
  .sp-copy-btn{font-size:12px;font-weight:600;padding:5px 12px;border-radius:6px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-s);cursor:pointer;transition:background .15s,color .15s;width:100%}
  .sp-copy-btn:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
  .sp-pay-hint{font-size:11px;color:var(--text-t);margin-top:8px;line-height:1.5}
  .sp-pay-divider{width:1px;background:var(--border);flex-shrink:0;align-self:stretch}
  .sp-bank-row{display:flex;gap:8px;align-items:baseline;margin-bottom:5px;flex-wrap:wrap}
  .sp-bank-lbl{font-size:11px;color:var(--text-t);min-width:70px;flex-shrink:0}
  .sp-bank-val{font-size:12px;font-weight:500;color:var(--text);min-width:0;overflow-wrap:anywhere}
  .sp-inline-copy{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-s);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;margin-left:4px;flex-shrink:0}
  .sp-inline-copy:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
  .sp-sponsors{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}
  .sp-sponsors-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-t);margin-bottom:10px}
  .sp-month{font-size:11px;font-weight:600;color:var(--text-t);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}
  .sp-sponsor-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}
  .sp-sponsor-name{font-size:13px;font-weight:500;color:var(--text);flex:1}
  .sp-sponsor-amt{font-size:12px;font-weight:600;color:var(--text-s);flex-shrink:0}
  .sp-sponsor-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:100px;background:#FFFBEB;color:#D97706;border:1px solid #FDE68A;flex-shrink:0}
  .sp-tokens{font-size:11px;color:var(--text-t);margin-top:4px}
  .sp-cost{font-size:11px;color:var(--text-t)}
  @media(max-width:520px){.sp-pay{flex-direction:column}.sp-pay-divider{display:none}.sp-stats{flex-direction:column}}

  /* ── Passwort-Stärke ────────────────────────────────────────── */
  .pw-strength{font-size:11px;margin-top:3px;min-height:16px;font-weight:500;letter-spacing:.01em}
  .pws-1{color:#DC2626}
  .pws-2{color:#D97706}
  .pws-3{color:#059669}
  /* ── Audit-Log ──────────────────────────────────────────────── */
  .audit-row{display:flex;gap:8px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--border);font-size:12px;flex-wrap:wrap}
  .audit-ts{color:var(--text-t);white-space:nowrap;flex-shrink:0;min-width:90px}
  .audit-user{color:var(--blue);font-weight:500;flex-shrink:0}
  .audit-action{color:var(--text);flex-shrink:0}
  .audit-detail{color:var(--text-s);font-size:11px}
