/* Optimized FinanzSplit CSS - Core Styles */
*{box-sizing:border-box;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}

/* Mobile Viewport & Safe Area */
html,body{width:100%;height:100%;overflow-x:hidden;position:relative;-webkit-text-size-adjust:100%;touch-action:manipulation}
:root{--safe-area-inset-top:env(safe-area-inset-top,0px);--safe-area-inset-right:env(safe-area-inset-right,0px);--safe-area-inset-bottom:env(safe-area-inset-bottom,0px);--safe-area-inset-left:env(safe-area-inset-left,0px)}

/* Color Variables */
:root{--bg-gradient:linear-gradient(140deg,#e7f0fc 0%,#fff 45%,#fff5e9 100%);--panel-bg:#ffffff;--panel-shadow:0 12px 40px -8px rgba(20,30,55,.18);--radius:26px;--text:#1d2330;--text-muted:#5b6475;--border:#d9e1ec;--primary:#2f6fe9;--primary-hover:#1e5dcc;--accent:#ea6a00;--accent-hover:#c35500;--focus-ring:0 0 0 3px #2f6fe933;--transition:.22s cubic-bezier(.4,0,.2,1);--input-bg:#fdfdfd;--outline:#c7d3e1;--danger:#c62828;--success:#2e7d32}

/* Dark Mode */
@media (prefers-color-scheme:dark){:root{--bg-gradient:linear-gradient(140deg,#0d1725 0%,#121b24 50%,#1f1407 100%);--panel-bg:#1e2530;--panel-shadow:0 12px 40px -8px rgba(0,0,0,.55);--text:#eef3fa;--text-muted:#95a2b4;--border:#324153;--input-bg:#253041;--outline:#3b4b60}}

/* Base Layout */
body{margin:0;min-height:100vh;background:var(--bg-gradient);color:var(--text);display:flex;justify-content:center;align-items:flex-start;padding:2.2rem 1rem;width:100%;overflow-x:hidden;position:relative;overscroll-behavior-y:contain}
.viewport-center{width:100%;max-width:980px;display:grid;gap:2rem;min-height:calc(100vh - 4.4rem)}
.panel{background:var(--panel-bg);padding:3rem clamp(1.5rem,3.5vw,3rem);border-radius:var(--radius);box-shadow:var(--panel-shadow);max-width:880px;margin:0 auto;animation:fadeIn .6s ease both;min-height:fit-content}
.panel.sm{max-width:880px}
.hidden{display:none!important}

/* Typography */
h1,h2{margin:0;font-weight:700;letter-spacing:.5px}
.logo-gradient{background:linear-gradient(90deg,#3d56c4,#844b7d,#d2613e);-webkit-background-clip:text;background-clip:text;color:transparent}
.intro{line-height:1.55;font-size:1.05rem;max-width:720px;margin:1.4rem auto 2.2rem;text-align:center;color:var(--text-muted)}

/* Buttons */
.btn{border:none;border-radius:14px;font-weight:600;font-size:1rem;padding:.9rem 1.4rem;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:var(--transition);position:relative;text-decoration:none;font-family:inherit}
.btn.primary{background:var(--primary);color:#fff}
.btn.primary:hover{background:var(--primary-hover)}
.btn.accent{background:var(--accent);color:#fff}
.btn.accent:hover{background:var(--accent-hover)}
.btn.outline{background:transparent;border:1.5px solid var(--accent);color:var(--accent)}
.btn.outline:hover{background:var(--accent);color:#fff}
.btn.xs{padding:.45rem .75rem;font-size:.75rem;border-radius:8px}
.btn.full{width:100%;justify-content:center}

/* Forms */
form{display:flex;flex-direction:column;gap:1rem;margin-top:1.2rem}
label{display:flex;flex-direction:column;font-size:.9rem;font-weight:600;gap:.4rem;color:var(--text)}
input[type=email],input[type=password],input[type=text],input[type=number],select,textarea{padding:.85rem 1rem;border:1px solid var(--outline);border-radius:12px;font-size:.95rem;background:var(--input-bg);color:var(--text);transition:var(--transition);font-family:inherit}
input:focus,select:focus,textarea:focus{outline:none;box-shadow:var(--focus-ring);border-color:var(--primary)}

/* Actions */
.actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}
.actions.vertical{flex-direction:column;align-items:stretch}

/* Main Header */
.main-header{background:var(--panel-bg);border-bottom:1px solid var(--border);box-shadow:var(--panel-shadow);position:fixed;top:0;left:0;right:0;width:100%;z-index:1000;padding-top:var(--safe-area-inset-top);padding-left:var(--safe-area-inset-left);padding-right:var(--safe-area-inset-right)}
.main-header::before{content:'';position:absolute;top:calc(-1 * var(--safe-area-inset-top));left:0;right:0;height:var(--safe-area-inset-top);background:var(--panel-bg);z-index:-1}
.header-content{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;max-width:1200px;margin:0 auto;width:100%}
.header-left .logo h1{margin:0;font-size:1.5rem;color:var(--accent);font-weight:700}
.header-right{display:flex;align-items:center}
.desktop-nav{display:flex;align-items:center;gap:1rem}
.header-btn{padding:.5rem 1rem;font-size:.9rem;white-space:nowrap}

/* Profile Dropdown */
.profile-dropdown{position:relative}
.profile-btn{display:flex;align-items:center;gap:.5rem}
.dropdown-arrow{font-size:.7rem;transition:transform .2s ease}
.profile-dropdown.active .dropdown-arrow{transform:rotate(180deg)}
.dropdown-menu{position:absolute;top:100%;right:0;background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;box-shadow:var(--panel-shadow);min-width:200px;padding:.5rem 0;z-index:1000;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s ease}
.profile-dropdown.active .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown-menu a{display:block;padding:.75rem 1rem;color:var(--text);text-decoration:none;transition:background .2s ease}
.dropdown-menu a:hover{background:var(--input-bg)}
.dropdown-divider{height:1px;background:var(--border);margin:.5rem 0}

/* Mobile Navigation */
.mobile-menu-toggle{display:none;background:transparent;border:none;cursor:pointer;padding:.5rem;flex-direction:column;gap:3px}
.hamburger{width:20px;height:2px;background:var(--text);position:relative;transition:all .3s ease}
.hamburger::before,.hamburger::after{content:'';width:20px;height:2px;background:var(--text);position:absolute;left:0;transition:all .3s ease}
.hamburger::before{top:-6px}
.hamburger::after{top:6px}
.mobile-nav{display:none;background:var(--panel-bg);border-top:1px solid var(--border);padding:1rem 2rem}
.mobile-nav a{display:block;padding:.75rem 0;color:var(--text);text-decoration:none;border-bottom:1px solid var(--border)}
.mobile-submenu{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}
.submenu-title{font-weight:600;color:var(--text-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;display:block}

/* App Shell */
.app-shell{min-height:100vh;background:var(--bg);display:block;padding-top:calc(80px + var(--safe-area-inset-top));padding-bottom:calc(2rem + var(--safe-area-inset-bottom));padding-left:var(--safe-area-inset-left);padding-right:var(--safe-area-inset-right);width:100%;overflow-x:hidden;position:relative}
.main-content{padding:2rem;max-width:1200px;margin:0 auto}
.content-header{margin-bottom:2rem}
.content-header h2{margin:0;color:var(--text);font-size:1.8rem;font-weight:600}

/* Groups */
.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-bottom:2rem}
.group-row{background:var(--panel-bg);border:1px solid var(--border);border-radius:16px;padding:1.5rem;box-shadow:var(--panel-shadow);transition:all .2s ease;display:flex;flex-direction:column;gap:1rem}
.group-row:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.1);border-color:var(--accent)}
.group-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.group-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:0.5rem}
.group-code-display{font-family:monospace;font-size:0.75rem;color:var(--text-muted);background:var(--input-bg);padding:0.25rem 0.5rem;border-radius:6px;letter-spacing:1px}
.g-name{font-size:1.2rem;font-weight:600;color:var(--text);margin:0;flex:1;line-height:1.3}
.g-bal{font-size:1.1rem;font-weight:600;padding:.5rem 1rem;border-radius:12px;background:var(--input-bg);white-space:nowrap}
.g-bal.pos{background:#e8f5e8;color:var(--success)}
.g-bal.neg{background:#fdeaea;color:var(--danger)}

.g-actions{display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap}
.g-actions .btn{flex:1;min-width:120px;justify-content:center;font-size:.9rem;padding:.75rem 1rem;border-radius:12px}

/* Animations */
@keyframes fadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}

/* Mobile Responsive */
@media (max-width:768px){
  .desktop-nav{display:none}
  .mobile-menu-toggle{display:flex}
  .mobile-nav.active{display:block}
  .header-content{padding:1rem;padding-left:calc(1rem + var(--safe-area-inset-left));padding-right:calc(1rem + var(--safe-area-inset-right))}
  .main-content{padding:1rem;padding-left:calc(1rem + var(--safe-area-inset-left));padding-right:calc(1rem + var(--safe-area-inset-right))}
  .app-shell{padding-top:calc(70px + var(--safe-area-inset-top))}
  .groups-grid{grid-template-columns:1fr;gap:1rem}
  .group-row{padding:1rem}
  .g-actions{flex-direction:column}
  .g-actions .btn{min-width:auto;width:100%}
  .group-header{flex-direction:column;align-items:stretch;gap:.75rem}
  .g-bal{align-self:flex-end;font-size:1rem}
  body{padding:0;overflow-x:hidden;width:100%;height:100vh;position:relative}
  .viewport-center{width:100%;max-width:100%;padding:1rem 1rem 2rem 1rem;overflow-y:auto;height:calc(100vh - 3rem);display:block}
  .main-content{-webkit-overflow-scrolling:touch;overflow-x:hidden;height:100%;overflow-y:auto;padding-bottom:2rem}
  .panel{margin-bottom:2rem;max-height:none;min-height:auto}
  .btn{min-height:44px}
  .mobile-menu-toggle{padding:12px;min-width:44px;min-height:44px}
}

/* Touch Optimizations */
.btn,.mobile-menu-toggle,.profile-dropdown,.dropdown-menu{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}

/* Modal System */
.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease;backdrop-filter:blur(4px)}
.modal{background:var(--panel-bg);border-radius:var(--radius);box-shadow:var(--panel-shadow);max-width:600px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease}
.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border)}
.modal-header h3{margin:0;font-size:1.3rem;color:var(--text)}
.modal-close{background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:8px;transition:var(--transition)}
.modal-close:hover{background:var(--input-bg);color:var(--text)}
.modal-content{padding:1.5rem;overflow-y:auto;flex:1}
.notifications-modal .modal{max-width:500px}
.settings-modal .modal{max-width:700px}

/* Additional animations */
@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

/* Empty states */
.empty-groups{text-align:center;padding:3rem 2rem;color:var(--text-muted)}
.empty-groups h3{margin:0 0 1rem 0;color:var(--text)}
.empty-groups p{margin:0 0 2rem 0;font-size:1.1rem}

/* Notification Badge */
.notif-badge{background:var(--danger);color:white;font-size:.7rem;padding:.2rem .5rem;border-radius:10px;margin-left:.5rem;min-width:1.2rem;text-align:center;font-weight:600}

/* Additional Form Styles */
.muted{color:var(--text-muted);font-size:.85rem;margin-top:1.4rem;text-align:center}
.muted.small{margin-top:.6rem;font-size:.75rem}
.check{flex-direction:row;align-items:center;font-weight:500;font-size:.85rem}
.check input{margin-right:.5rem}
textarea{resize:vertical;min-height:80px}
input[type=email]{font-family:monospace,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}

/* Links */
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

/* Legacy responsive for landing page */
@media (min-width:700px){
  .landing-actions .btn{width:auto;min-width:180px;align-self:center;justify-content:center}
  .landing-actions{max-width:420px;margin:0 auto}
}
@media (min-width:900px){#login-card,#register-card{max-width:880px}}
@media (max-width:640px){.panel{padding:2.2rem 1.35rem;border-radius:22px}.intro{font-size:.95rem;margin:1rem auto 2rem}}
@media (prefers-color-scheme:dark){.logo-gradient{background:linear-gradient(90deg,#6f8dff,#b477c5,#ff8f55);-webkit-background-clip:text;background-clip:text}}

/* Landing page styles */
#landing-panel h1{font-size:clamp(2.4rem,6vw,3.4rem);text-align:center}
#login-card,#register-card{max-width:880px}
.logo-gradient.sm{font-size:2.1rem}

/* Group Detail Page */
.group-detail-page{display:none}
.group-detail-page.active{display:block}

.group-detail-header{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem;gap:1rem}
.group-detail-header h2{margin:0;color:var(--text);font-size:2.2rem;font-weight:600;text-align:center;order:2}
.back-btn{padding:0.75rem 1.5rem;font-size:0.9rem;align-self:flex-start;order:1}

.expenses-section{margin-bottom:2rem}
.expenses-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.expenses-header h3{margin:0;color:var(--text);font-size:1.4rem}
.filter-options select{padding:0.75rem 1rem;border-radius:12px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);font-size:0.9rem;min-width:140px;cursor:pointer;transition:var(--transition)}
.filter-options select:hover{border-color:var(--accent)}
.filter-options select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(79, 70, 229, 0.1)}

.add-expense-section{margin-top:1.5rem;text-align:center}
.add-expense-section .btn{max-width:300px;margin:0 auto}

.mobile-filter-section{display:none}
.filter-divider{border:none;border-top:1px solid var(--border);margin:1rem 0}

.expenses-list{background:var(--panel-bg);border-radius:16px;border:1px solid var(--border);overflow:hidden;max-height:none}
.expense-item{display:grid;grid-template-columns:1fr auto auto auto;gap:1rem;padding:1rem;border-bottom:1px solid var(--border);align-items:center}
.expense-item:last-child{border-bottom:none}
.expense-item:hover{background:var(--input-bg)}

.expense-info{display:flex;flex-direction:column;gap:0.25rem}
.expense-description{font-weight:600;color:var(--text);font-size:1rem}
.expense-meta{font-size:0.85rem;color:var(--text-muted)}
.expense-participants{font-size:0.8rem;color:var(--text-muted);margin-top:0.25rem}

.expense-amount{text-align:right;font-weight:600;font-size:1.1rem}
.expense-amount.positive{color:var(--success)}
.expense-amount.negative{color:var(--danger)}

.expense-user-share{text-align:right;font-size:0.9rem;color:var(--text-muted)}

.expense-actions{display:flex;gap:0.5rem}
.expense-actions .btn{padding:0.4rem 0.8rem;font-size:0.8rem}

.balance-summary{margin-top:0;margin-bottom:2rem}
.balance-card{background:var(--panel-bg);border-radius:16px;border:1px solid var(--border);padding:1.5rem;text-align:center;box-shadow:var(--panel-shadow)}
.balance-card h4{margin:0 0 0.5rem 0;color:var(--text-muted);font-size:0.9rem;font-weight:500}
.balance-amount{font-size:1.8rem;font-weight:700;margin-bottom:0.25rem}
.balance-amount.positive{color:var(--success)}
.balance-amount.negative{color:var(--danger)}
.balance-amount.neutral{color:var(--text)}
.balance-description{color:var(--text-muted);font-size:0.85rem}

/* Aktivitäten (früher Ausgaben) */
.activities-section{margin-bottom:2rem}
.activities-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.activities-header h3{margin:0;color:var(--text);font-size:1.4rem}

.activities-list{background:var(--panel-bg);border-radius:16px;border:1px solid var(--border);overflow:hidden;max-height:none}
.activity-item{display:grid;grid-template-columns:1fr auto auto auto;gap:1rem;padding:1rem;border-bottom:1px solid var(--border);align-items:center}
.activity-item:last-child{border-bottom:none}
.activity-item:hover{background:var(--input-bg)}

.activity-type{display:inline-block;padding:0.15rem 0.4rem;border-radius:8px;font-size:0.7rem;font-weight:500;margin-bottom:0.25rem;border:1px solid;width:fit-content}
.activity-type.expense{border-color:var(--accent);color:var(--accent);background:transparent}
.activity-type.settlement{border-color:var(--success);color:var(--success);background:transparent}

.empty-expenses{text-align:center;padding:3rem;color:var(--text-muted)}
.empty-expenses h3{margin:0 0 1rem 0;color:var(--text)}
.empty-expenses p{margin:0}

/* Mobile optimizations for group detail */
@media (max-width:768px){
  .app-shell{padding-bottom:calc(6rem + var(--safe-area-inset-bottom))}
  
  .group-detail-header{gap:0.5rem;margin-bottom:1.5rem}
  .group-detail-header h2{font-size:1.6rem}
  .back-btn{padding:0.5rem 1rem;font-size:0.85rem}
  .back-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted)}
  .back-btn .back-text{display:none}
  .back-btn .back-icon{display:inline;font-size:1.2rem}
  
  .balance-summary{margin-bottom:1.5rem}
  .balance-card{padding:1rem}
  .balance-amount{font-size:1.5rem}
  
  .activities-section{margin-bottom:3rem}
  .activities-header{display:none}
  .mobile-filter-section{display:block;padding:1rem;background:var(--panel-bg);border:1px solid var(--border);border-bottom:none;border-radius:16px 16px 0 0}
  .activities-list{border-radius:0;border-top:none;border-bottom:none;max-height:none;margin-bottom:0}
  .add-expense-section{border-radius:0 0 16px 16px;border-top:1px solid var(--border);margin-bottom:3rem;padding:1.5rem 1rem}
  
  .activity-item{grid-template-columns:1fr;gap:0.75rem;padding:1rem}
  .expense-info{order:1}
  .expense-amount{order:2;text-align:left;font-size:1.2rem}
  .expense-user-share{order:3;text-align:left}
  .expense-actions{order:4;justify-content:center}
}

@media (min-width:769px){
  .back-btn .back-text{display:inline}
  .back-btn .back-icon{display:none}
}

/* Settlements Styling */
.settlements-section, .debt-suggestions-section {
  margin-bottom: 2rem;
}

.settlements-section h4, .debt-suggestions-section h4 {
  margin: 0 0 1rem 0;
  font-size: 1.1rem;
  color: var(--text);
  font-weight: 600;
}

.settlement-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  background: var(--panel-bg);
  border: 1px solid var(--border);
  border-radius: 12px;
  margin-bottom: 0.75rem;
  transition: var(--transition);
}

.settlement-item:hover {
  border-color: var(--primary);
  box-shadow: 0 2px 8px rgba(47, 111, 233, 0.1);
}

.settlement-item.status-pending {
  border-left: 4px solid var(--accent);
}

.settlement-item.status-confirmed {
  border-left: 4px solid var(--success);
}

.settlement-item.status-disputed {
  border-left: 4px solid var(--danger);
}

.settlement-item.status-cancelled {
  border-left: 4px solid var(--text-muted);
  opacity: 0.7;
}

.settlement-item.debt-suggestion {
  border-left: 4px solid var(--primary);
}

.settlement-info {
  flex: 1;
}

.settlement-description {
  font-weight: 600;
  margin-bottom: 0.25rem;
  color: var(--text);
}

.settlement-meta {
  font-size: 0.85rem;
  color: var(--text-muted);
}

.settlement-amount {
  font-weight: 700;
  font-size: 1.1rem;
  margin: 0 1rem;
  min-width: 80px;
  text-align: right;
}

.settlement-amount.owed {
  color: var(--success);
}

.settlement-amount.owe {
  color: var(--danger);
}

.settlement-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.no-settlements {
  text-align: center;
  padding: 2rem;
  color: var(--text-muted);
}

.no-settlements h4 {
  margin: 0 0 0.5rem 0;
  color: var(--text);
}

/* Notifications Styling */
.notifications-header {
  border-bottom: 1px solid var(--border);
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}

.notifications-header h3 {
  margin: 0;
  font-size: 1.3rem;
  font-weight: 600;
}

.notifications-list {
  max-height: 400px;
  overflow-y: auto;
}

.notification-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  border-bottom: 1px solid var(--border);
  transition: var(--transition);
}

.notification-item:last-child {
  border-bottom: none;
}

.notification-item.unread {
  background: rgba(47, 111, 233, 0.05);
  border-left: 3px solid var(--primary);
}

.notification-item:hover {
  background: rgba(47, 111, 233, 0.08);
}

.notification-content {
  flex: 1;
}

.notification-text {
  font-weight: 500;
  margin-bottom: 0.25rem;
  color: var(--text);
}

.notification-meta {
  font-size: 0.8rem;
  color: var(--text-muted);
}

.notification-actions {
  display: flex;
  gap: 0.5rem;
  margin-left: 1rem;
}

.notifications-actions {
  border-top: 1px solid var(--border);
  padding-top: 1rem;
  margin-top: 1rem;
  text-align: center;
}

.no-notifications {
  text-align: center;
  padding: 2rem;
  color: var(--text-muted);
  font-style: italic;
}

/* Button Variants */
.btn.success {
  background: var(--success);
  color: white;
}

.btn.success:hover {
  background: #1e5d24;
}

.btn.danger {
  background: var(--danger);
  color: white;
}

.btn.danger:hover {
  background: #a21f1f;
}

.btn.secondary {
  background: var(--text-muted);
  color: white;
}

.btn.secondary:hover {
  background: #4a5564;
}

/* Mobile Optimizations for Settlements */
@media (max-width: 768px) {
  .settlement-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  
  .settlement-amount {
    text-align: left;
    margin: 0;
    font-size: 1.2rem;
  }
  
  .settlement-actions {
    width: 100%;
    justify-content: center;
  }
  
  .notification-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  
  .notification-actions {
    width: 100%;
    justify-content: center;
    margin-left: 0;
  }
}

/* Settlement Styles */
.settlements-section, .debt-suggestions-section {
  margin-bottom: 2rem;
}

.settlements-section h4, .debt-suggestions-section h4 {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: var(--text);
}

.settlement-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  background: var(--panel-bg);
  border: 1px solid var(--border);
  border-radius: 12px;
  margin-bottom: 0.75rem;
  transition: var(--transition);
}

.settlement-item:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.settlement-item.debt-suggestion {
  border-left: 3px solid var(--accent);
}

.settlement-item.status-pending {
  border-left: 3px solid #ffa000;
}

.settlement-item.status-confirmed {
  border-left: 3px solid var(--success);
  opacity: 0.7;
}

.settlement-item.status-disputed {
  border-left: 3px solid var(--danger);
}

.settlement-item.status-cancelled {
  border-left: 3px solid var(--text-muted);
  opacity: 0.6;
}

.settlement-info {
  flex: 1;
}

.settlement-description {
  font-weight: 600;
  margin-bottom: 0.25rem;
}

.settlement-meta {
  font-size: 0.85rem;
  color: var(--text-muted);
}

.settlement-amount {
  font-weight: 700;
  font-size: 1.1rem;
  margin: 0 1rem;
}

.settlement-amount.owed {
  color: var(--success);
}

.settlement-amount.owe {
  color: var(--danger);
}

.settlement-actions {
  display: flex;
  gap: 0.5rem;
}

/* Notification Styles */
.notifications-header {
  border-bottom: 1px solid var(--border);
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
}

.notifications-header h3 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
}

.no-notifications {
  text-align: center;
  padding: 2rem;
  color: var(--text-muted);
  font-style: italic;
}

.notifications-list {
  max-height: 400px;
  overflow-y: auto;
}

.notification-item {
  display: flex;
  align-items: center;
  padding: 1rem;
  border-bottom: 1px solid var(--border);
  transition: var(--transition);
}

.notification-item:last-child {
  border-bottom: none;
}

.notification-item.unread {
  background: rgba(47, 111, 233, 0.05);
  border-left: 3px solid var(--primary);
}

.notification-item:hover {
  background: rgba(0,0,0,0.02);
}

.notification-content {
  flex: 1;
}

.notification-text {
  font-weight: 500;
  margin-bottom: 0.25rem;
}

.notification-meta {
  font-size: 0.8rem;
  color: var(--text-muted);
}

.notification-actions {
  display: flex;
  gap: 0.5rem;
}

.notifications-actions {
  border-top: 1px solid var(--border);
  padding-top: 1rem;
  margin-top: 1.5rem;
  text-align: center;
}

.notification-badge, .notif-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  background: var(--danger);
  color: white;
  border-radius: 10px;
  font-size: 0.7rem;
  padding: 2px 6px;
  font-weight: bold;
  min-width: 18px;
  text-align: center;
  display: none;
}

/* Button Variants */
.btn.success {
  background: var(--success);
  color: white;
}

.btn.success:hover {
  background: #1b5e20;
}

.btn.danger {
  background: var(--danger);
  color: white;
}

.btn.danger:hover {
  background: #b71c1c;
}

.btn.secondary {
  background: var(--text-muted);
  color: white;
}

.btn.secondary:hover {
  background: #4a5568;
}

/* Mobile Responsive Adjustments */
@media (max-width: 768px) {
  .settlement-item {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }
  
  .settlement-amount {
    margin: 0;
    text-align: center;
    font-size: 1.3rem;
  }
  
  .settlement-actions {
    justify-content: center;
  }
  
  .notification-item {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }
  
  .notification-actions {
    justify-content: center;
  }
}
