/* SLClass iOS/macOS design (glass, subtle gradients, SF system stack) */
:root{
  /* Colors */
  --ios-blue:#0A84FF; /* iOS accent */
  --bg-primary:#1C1C1E; /* iOS default dark background */
  --bg-surface:rgba(255,255,255,0.08);
  --bg-surface-strong:rgba(255,255,255,0.12);
  --text-primary:#FFFFFF;
  --text-secondary:rgba(255,255,255,0.78);
  --text-tertiary:rgba(255,255,255,0.6);
  --separator:rgba(255,255,255,0.16);
  --success-green:#34C759;
  --danger-red:#FF3B30;
  --warning-orange:#FF9F0A;
  --card-blur:18px;
  --radius:14px;
}

/* Light theme override */
[data-theme="light"]{
  --bg-primary:#F2F2F7; /* iOS default light background */
  --bg-surface:rgba(255,255,255,0.65);
  --bg-surface-strong:rgba(255,255,255,0.75);
  --text-primary:#1C1C1E;
  --text-secondary:rgba(28,28,30,0.75);
  --text-tertiary:rgba(28,28,30,0.6);
  --separator:rgba(0,0,0,0.12);
}

/* System font stack */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color:var(--text-primary);
  background:var(--bg-primary) fixed;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Layout */
.app-layout{display:flex;min-height:100vh}
.sidebar{
  width:260px;flex:0 0 260px;padding:16px;
  backdrop-filter:blur(var(--card-blur));
  -webkit-backdrop-filter:blur(var(--card-blur));
  background:var(--bg-surface);
  border-right:1px solid var(--separator);
}
.main-content{flex:1;padding:16px 20px 24px;}

/* Sidebar */
.logo{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.logo-icon{width:36px;height:36px;border-radius:10px;background:var(--ios-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.logo-text{font-weight:700;color:var(--text-primary);letter-spacing:-.2px}
.sidebar-nav{display:flex;flex-direction:column;gap:8px}
.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;color:var(--text-primary);text-decoration:none;background:transparent;border:1px solid transparent;transition:.2s}
.nav-item:hover{background:var(--bg-surface-strong)}
.nav-item .nav-icon{width:24px;text-align:center}
.nav-item.active{background:linear-gradient(135deg, rgba(10,132,255,0.25), rgba(10,132,255,0.05));
  border:1px solid rgba(10,132,255,0.35); box-shadow:0 8px 18px rgba(10,132,255,0.18) inset}

/* Header */
.header{backdrop-filter:blur(var(--card-blur));-webkit-backdrop-filter:blur(var(--card-blur));background:var(--bg-surface);border:1px solid var(--separator);border-radius:var(--radius);padding:10px 12px}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:12px;padding:9px 12px;cursor:pointer;font-weight:600;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--separator)}
.btn:hover{background:var(--bg-surface-strong)}
.btn-primary{background:linear-gradient(180deg,#1EA0FF, #0A84FF);border:1px solid rgba(10,132,255,0.6);color:#fff}
.btn-primary:hover{filter:brightness(1.02)}
.btn-secondary{background:var(--bg-surface);}

/* Cards / Widgets */
.widget{background:var(--bg-surface);backdrop-filter:blur(var(--card-blur));-webkit-backdrop-filter:blur(var(--card-blur));border:1px solid var(--separator);border-radius:var(--radius);padding:14px;margin:12px 0}
.widget-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.widget-title{margin:0;color:var(--text-primary);letter-spacing:-.2px}

/* Dashboard */
.dashboard-title{margin:0 0 4px 0;font-size:28px;letter-spacing:-.4px}
.dashboard-subtitle{margin:0;color:var(--text-secondary)}
.quick-actions .actions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.action-card{display:block;text-decoration:none;color:inherit;background:var(--bg-surface);border:1px solid var(--separator);border-radius:18px;padding:16px;backdrop-filter:blur(var(--card-blur));-webkit-backdrop-filter:blur(var(--card-blur));transition:.2s}
.action-card:hover{transform:translateY(-1px);background:var(--bg-surface-strong)}
.action-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:8px;font-size:20px}
.action-icon.teal{background:linear-gradient(180deg,#34C759,#2AC15B)}
.action-icon.orange{background:linear-gradient(180deg,#FF9F0A,#FFB340)}
.action-icon.blue{background:linear-gradient(180deg,#5AC8FA,#32ADE6)}
.action-icon.green{background:linear-gradient(180deg,#30D158,#1DB954)}
.action-title{font-weight:700;letter-spacing:-.2px}
.action-subtitle{color:var(--text-secondary);font-size:13px}

/* Financial summary rows */
.financial-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-top:1px solid var(--separator)}
.financial-item:first-child{border-top:none}
.financial-label{color:var(--text-secondary)}
.financial-value{font-weight:700}

/* Table */
.table{display:grid}
.table-row{display:grid;grid-template-columns:2fr 1.5fr 1.2fr 1fr;gap:12px;padding:10px 8px;border-top:1px solid var(--separator)}
.table-row.header{font-weight:700;color:var(--text-secondary);border-top:none;padding-top:0}
.table-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Forms */
.form-group{display:grid;gap:6px}
.form-label{color:var(--text-secondary)}
.form-control{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--separator);background:var(--bg-surface);color:var(--text-primary)}
.form-control:focus{outline:none;border-color:rgba(10,132,255,0.5);box-shadow:0 0 0 3px rgba(10,132,255,0.15)}
textarea.form-control{resize:vertical}

/* Calendar */
.calendar{background:var(--bg-surface);border:1px solid var(--separator);border-radius:var(--radius);padding:12px}
.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px;color:var(--text-secondary)}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.calendar-day{display:flex;align-items:center;justify-content:center;height:34px;border-radius:10px;background:var(--bg-surface);border:1px solid var(--separator);color:var(--text-primary)}
.calendar-day.today{border-color:rgba(10,132,255,0.6);box-shadow:0 0 0 3px rgba(10,132,255,0.12) inset}

/* Helpers */
.masked-money{letter-spacing:2px}

/* Responsive */
@media (max-width: 980px){
  .quick-actions .actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sidebar{width:220px;flex-basis:220px}
}
@media (max-width: 720px){
  .app-layout{flex-direction:column}
  .sidebar{position:sticky;top:0;z-index:5;border-right:none;border-bottom:1px solid var(--separator)}
  .quick-actions .actions-grid{grid-template-columns:1fr}
}
