:root{
  --begos-navy:#0d1728;
  --begos-navy-2:#13213a;
  --begos-green:#0b8a4a;
  --begos-green-soft:#e9f7ef;
  --begos-purple:#4b248f;
  --begos-bg:#f3f6fa;
  --begos-surface:#ffffff;
  --begos-line:#e4e9f0;
  --begos-text:#142033;
  --begos-muted:#718096;
  --begos-shadow:0 18px 50px rgba(15,23,42,.07);
}

html,body{min-height:100%}
body{background:var(--begos-bg);color:var(--begos-text)}
body.app-body{overflow-x:hidden}

.app-shell{min-height:100vh;display:grid;grid-template-columns:272px minmax(0,1fr)}
.app-sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:linear-gradient(180deg,#0a1322 0%,#101b30 56%,#0d1728 100%);color:#fff;padding:22px 16px 18px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.05);box-shadow:18px 0 55px rgba(15,23,42,.08);z-index:20}
.sidebar-brand{display:flex;align-items:center;gap:12px;padding:4px 8px 18px;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.08)}
.sidebar-logo-wrap{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.96);box-shadow:0 10px 26px rgba(0,0,0,.18);flex:none;overflow:hidden}
.sidebar-logo-wrap img{width:44px;height:40px;object-fit:contain;display:block}
.sidebar-brand-copy{min-width:0;display:grid;gap:1px}
.sidebar-brand-copy strong{font-size:17px;letter-spacing:.01em;line-height:1.15}
.sidebar-brand-copy span{font-size:11px;color:#c8d1df;line-height:1.3}
.sidebar-org{padding:13px 10px 4px;font-size:10px;line-height:1.45;color:#8290a5;text-transform:uppercase;letter-spacing:.08em}
.side-nav{display:grid;gap:4px;margin-top:12px}
.nav-group{margin-top:13px}
.nav-group:first-child{margin-top:0}
.nav-group-label{font-size:9px;font-weight:800;letter-spacing:.15em;color:#708098;text-transform:uppercase;padding:0 11px 7px}
.nav-item{position:relative;display:flex;align-items:center;gap:11px;padding:10px 11px;color:#cdd6e3;text-decoration:none;border-radius:10px;font-size:13px;font-weight:600;transition:background .16s ease,color .16s ease,transform .16s ease}
.nav-item:hover{background:rgba(255,255,255,.065);color:#fff;transform:translateX(1px)}
.nav-item.active{background:linear-gradient(90deg,rgba(11,138,74,.22),rgba(75,36,143,.15));color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.nav-item.active:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,#19b46c,#7650c5)}
.nav-icon{width:18px;height:18px;display:grid;place-items:center;color:#8da0bb;flex:none}
.nav-item.active .nav-icon,.nav-item:hover .nav-icon{color:#fff}
.nav-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sidebar-footer{margin-top:auto;padding:16px 7px 2px;border-top:1px solid rgba(255,255,255,.08)}
.sidebar-user{display:flex;align-items:center;gap:10px;margin-bottom:11px}
.sidebar-avatar{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,rgba(11,138,74,.85),rgba(75,36,143,.92));display:grid;place-items:center;font-weight:800;font-size:12px;box-shadow:0 7px 18px rgba(0,0,0,.2)}
.sidebar-user-copy{min-width:0;display:grid}
.sidebar-user-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:175px}
.sidebar-user-copy span{font-size:10px;color:#8190a6;margin-top:2px}
.logout-form{margin:0}.logout-button{width:100%;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);color:#cbd5e1;padding:9px 11px;font-size:12px;border-radius:9px;text-align:left}
.logout-button:hover{background:rgba(255,255,255,.09);color:#fff;filter:none}

.app-workspace{min-width:0;min-height:100vh}
.app-content.container{max-width:1480px;margin:0 auto;padding:36px 42px 64px}
.mobile-topbar{display:none}

/* Polished global surfaces */
.app-workspace .page-head{margin-bottom:22px}
.app-workspace .page-head h1{margin:0 0 8px;font-size:31px;letter-spacing:-.025em}
.app-workspace .page-head h2{margin:0}
.app-workspace .card,
.app-workspace .form-card,
.app-workspace .cash-report,
.app-workspace .liquidity-panel,
.app-workspace .maturity-summary>div,
.app-workspace .calendar-toolbar,
.app-workspace .summary-card,
.app-workspace .calendar-list-card,
.app-workspace .upcoming-card,
.app-workspace .quick-actions a,
.app-workspace .hero-stat{box-shadow:0 10px 28px rgba(15,23,42,.035)}
.app-workspace table{border-color:var(--begos-line);border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(15,23,42,.03)}
.app-workspace th{background:#f8fafc;color:#617087;text-transform:none;font-weight:700}
.app-workspace tr:last-child td{border-bottom:0}
.app-workspace input,.app-workspace select,.app-workspace textarea{transition:border-color .15s ease,box-shadow .15s ease}
.app-workspace input:focus,.app-workspace select:focus,.app-workspace textarea:focus{outline:none;border-color:#7aa78f!important;box-shadow:0 0 0 3px rgba(11,138,74,.11)}
.button,button{transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
.button:hover,button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.11);filter:none}
.button-secondary:hover{box-shadow:0 8px 18px rgba(15,23,42,.06)}

/* Dashboard refinement */
.dashboard-head{margin-bottom:26px}
.dashboard-head h1{font-size:36px}
.dashboard-head .eyebrow{color:#64748b}
.hero-balance{position:relative;overflow:hidden;background:linear-gradient(145deg,#0c1729 0%,#16243c 58%,#1f2e4a 100%);box-shadow:0 24px 55px rgba(13,23,40,.16)}
.hero-balance:after{content:"";position:absolute;right:-20px;bottom:-30px;width:210px;height:185px;background:url('../images/begos-mark.svg') center/contain no-repeat;opacity:.07;filter:grayscale(1) brightness(2)}
.hero-balance>*{position:relative;z-index:1}
.hero-stat{box-shadow:0 12px 28px rgba(15,23,42,.045)}
.hero-stat.accent{background:linear-gradient(145deg,#eff7ff,#eaf4ff)}
.hero-stat.projected{background:linear-gradient(145deg,#f0fbf4,#ebf9f0)}
.cashflow-strip{box-shadow:0 10px 30px rgba(15,23,42,.035)}
.quick-actions a{position:relative;overflow:hidden}
.quick-actions a:after{content:"→";position:absolute;right:15px;top:15px;color:#a3adbb;font-weight:700;opacity:0;transform:translateX(-5px);transition:.15s ease}
.quick-actions a:hover:after{opacity:1;transform:none}

/* Simple, calm import flow */
.import-page{max-width:860px;margin:0 auto}
.import-heading{margin-bottom:22px}
.import-heading .eyebrow{margin-bottom:8px}
.import-heading h1{font-size:32px;letter-spacing:-.025em;margin:0 0 8px}
.import-heading p{margin:0;max-width:720px;line-height:1.55}
.workflow-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 15px}
.workflow-step{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #e5eaf1;border-radius:11px;padding:10px 12px;color:#7b8797;font-size:11px;font-weight:700}
.workflow-step b{width:23px;height:23px;border-radius:8px;background:#eef2f7;display:grid;place-items:center;color:#5b6778;font-size:10px}
.workflow-step.active{border-color:#bdddc9;background:#f4fbf7;color:#17653c}
.workflow-step.active b{background:#dff3e7;color:#0b7a43}
.upload-card{background:#fff;border:1px solid #e1e7ee;border-radius:18px;padding:28px;box-shadow:var(--begos-shadow)}
.upload-card .form-field{margin-bottom:18px}
.upload-card label{font-size:13px;font-weight:750;color:#26344a;margin-bottom:2px}
.upload-card select,.upload-card input[type=file]{min-height:46px;border:1px solid #d4dce6;border-radius:11px;padding:11px 12px;background:#fbfcfd}
.upload-card input[type=file]{padding:8px}
.upload-card input[type=file]::file-selector-button{border:0;background:#eaf0f6;color:#24344a;border-radius:8px;padding:8px 11px;font-weight:700;margin-right:10px;cursor:pointer}
.upload-help{display:flex;gap:9px;align-items:flex-start;background:#f7f9fc;border:1px solid #e9edf3;border-radius:11px;padding:12px 13px;color:#6c788b;font-size:12px;line-height:1.5;margin:2px 0 19px}
.upload-help-icon{width:22px;height:22px;border-radius:7px;background:#edf2f7;display:grid;place-items:center;flex:none;font-size:11px;font-weight:800;color:#516174}
.primary-submit{min-width:190px;padding:11px 16px;background:linear-gradient(135deg,#111d31,#1a2944)}
.text-cancel{font-size:12px;color:#7a8595;text-decoration:none;font-weight:650;padding:10px 4px}
.text-cancel:hover{color:#334155}
.import-error{margin-bottom:15px}

/* Preview: summary first, detail on demand */
.review-shell{max-width:1480px;margin:0 auto}
.review-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}
.review-toolbar h1{margin:0 0 8px;font-size:32px;letter-spacing:-.025em}
.review-toolbar p{margin:0;max-width:860px;line-height:1.55}
.review-back{font-size:12px;font-weight:700;color:#64748b;text-decoration:none;padding:9px 0;white-space:nowrap}
.review-back:hover{color:#172033}
.review-details{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin:14px 0;overflow:hidden;box-shadow:0 8px 24px rgba(15,23,42,.025)}
.review-details summary{cursor:pointer;list-style:none;padding:15px 18px;font-weight:750;color:#27364d;display:flex;align-items:center;justify-content:space-between;gap:14px}
.review-details summary::-webkit-details-marker{display:none}
.review-details summary:after{content:"Aç";font-size:10px;color:#7c8797;background:#f3f5f8;border-radius:999px;padding:5px 8px;font-weight:700}
.review-details[open] summary{border-bottom:1px solid #edf0f4}
.review-details[open] summary:after{content:"Kapat"}
.review-detail-body{padding:0 0 2px;overflow-x:auto}
.review-detail-body table{border:0;border-radius:0;box-shadow:none}
.review-approval{background:linear-gradient(145deg,#f3fbf6,#ecf8f1);border:1px solid #bfe4cc;border-radius:16px;padding:19px 20px;margin-top:20px}
.review-approval p{margin:0 0 13px;color:#3e5e4c;line-height:1.5}
.review-confirm{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;color:#344b3e;margin:0 0 14px}
.review-confirm input{margin-top:3px;flex:none}
.review-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.review-lock{margin-top:18px}

/* Import result */
.result-hero{max-width:980px;margin:0 auto 22px;background:linear-gradient(135deg,#0c1729,#152641);color:#fff;border-radius:20px;padding:28px 30px;box-shadow:0 24px 55px rgba(13,23,40,.16);position:relative;overflow:hidden}
.result-hero:after{content:"";position:absolute;right:20px;top:5px;width:125px;height:110px;background:url('../images/begos-mark.svg') center/contain no-repeat;opacity:.08;filter:grayscale(1) brightness(2)}
.result-hero h1{margin:4px 0 8px;font-size:31px;letter-spacing:-.02em;position:relative;z-index:1}
.result-hero p{margin:0;color:#cbd5e1;position:relative;z-index:1}
.result-check{width:36px;height:36px;border-radius:11px;background:#1f8f56;display:grid;place-items:center;font-size:18px;font-weight:900;position:relative;z-index:1}
.result-actions{display:flex;justify-content:center;gap:12px;align-items:center;flex-wrap:wrap;margin:22px 0}
.result-actions .button{min-width:180px;text-align:center}
.result-actions a:not(.button){color:#6b7789;font-size:12px;font-weight:700;text-decoration:none}

/* Login */
.auth-body{background:radial-gradient(circle at 15% 20%,rgba(75,36,143,.11),transparent 30%),radial-gradient(circle at 85% 78%,rgba(11,138,74,.12),transparent 32%),#f4f6f9}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:30px}
.login-shell{width:min(930px,100%);display:grid;grid-template-columns:.9fr 1.1fr;background:#fff;border:1px solid #e5e9ef;border-radius:24px;overflow:hidden;box-shadow:0 28px 80px rgba(15,23,42,.13)}
.login-brand-panel{background:linear-gradient(150deg,#0a1322,#13213a 70%,#182844);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between;min-height:510px;position:relative;overflow:hidden}
.login-brand-panel:after{content:"";position:absolute;width:270px;height:238px;right:-70px;bottom:-55px;background:url('../images/begos-mark.svg') center/contain no-repeat;opacity:.06;filter:grayscale(1) brightness(2)}
.login-logo{width:74px;height:66px;object-fit:contain;background:white;border-radius:18px;padding:5px;box-shadow:0 14px 35px rgba(0,0,0,.2)}
.login-brand-copy{position:relative;z-index:1}
.login-brand-copy h1{font-size:32px;line-height:1.08;letter-spacing:-.035em;margin:22px 0 10px;max-width:300px}
.login-brand-copy p{color:#aeb9ca;line-height:1.55;max-width:300px;font-size:13px;margin:0}
.login-brand-foot{position:relative;z-index:1;font-size:11px;color:#77869d;line-height:1.5}
.login-form-panel{padding:58px 62px;display:flex;flex-direction:column;justify-content:center}
.login-form-panel .eyebrow{margin-bottom:8px}
.login-form-panel h2{font-size:28px;margin:0 0 8px;letter-spacing:-.025em}
.login-form-panel>p{margin:0 0 25px;color:#7a8595;font-size:13px}
.login-form{display:grid;gap:16px}
.login-field{display:grid;gap:7px}
.login-field label{font-size:12px;font-weight:750;color:#344054}
.login-field input{height:48px;border:1px solid #d4dce5;border-radius:11px;padding:0 13px;font-size:14px}
.login-field input:focus{outline:none;border-color:#77a88e;box-shadow:0 0 0 3px rgba(11,138,74,.11)}
.login-submit{margin-top:5px;height:48px;background:linear-gradient(135deg,#111d31,#1c2e4c);border-radius:11px;font-size:13px;font-weight:800}
.login-security{margin-top:18px;font-size:11px;color:#98a2b3;display:flex;align-items:center;gap:7px}
.login-security:before{content:"";width:7px;height:7px;border-radius:50%;background:#17a660;box-shadow:0 0 0 4px #e8f7ef}

@media(max-width:1120px){
  .app-shell{grid-template-columns:230px minmax(0,1fr)}
  .app-sidebar{padding-left:12px;padding-right:12px}
  .sidebar-brand-copy strong{font-size:15px}
  .sidebar-brand-copy span{font-size:10px}
  .app-content.container{padding:30px 28px 52px}
}

@media(max-width:860px){
  .app-shell{display:block}
  .app-sidebar{display:none}
  .mobile-topbar{display:flex;position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid #e5e9ef;height:62px;padding:0 17px;align-items:center;justify-content:space-between}
  .mobile-brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:#172033}
  .mobile-brand img{width:31px;height:28px;object-fit:contain}
  .mobile-brand strong{font-size:13px}
  .mobile-links{display:flex;gap:8px}
  .mobile-links a{font-size:11px;text-decoration:none;color:#40516a;font-weight:700}
  .app-content.container{padding:25px 18px 45px}
  .workflow-steps{grid-template-columns:1fr}
  .workflow-step:not(.active){display:none}
  .login-shell{grid-template-columns:1fr;max-width:560px}
  .login-brand-panel{min-height:auto;padding:28px 34px}
  .login-brand-foot{display:none}
  .login-logo{width:58px;height:52px}
  .login-brand-copy h1{font-size:26px;margin-top:16px}
  .login-form-panel{padding:38px 34px 42px}
}

@media(max-width:600px){
  .upload-card{padding:21px}
  .import-heading h1,.review-toolbar h1{font-size:27px}
  .review-toolbar{flex-direction:column}
  .login-form-panel{padding:32px 24px 36px}
  .login-brand-panel{padding:24px}
  .result-hero{padding:24px}
}

@media print{
  .app-sidebar,.mobile-topbar{display:none!important}
  .app-shell{display:block}
  .app-content.container{max-width:none;padding:0;margin:0}
}
