@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');
:root{--ink:#17223a;--muted:#72809a;--blue:#2867f0;--canvas:#f5f7fb;--line:#e6eaf2;--white:#fff;--green:#118660;--red:#d14858;--nav:#121b31}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:15px 'DM Sans',Arial,sans-serif}aside{position:fixed;inset:0 auto 0 0;width:258px;padding:27px 16px;background:linear-gradient(160deg,#17233d 0%,#10182b 78%);color:#e8edf8;display:flex;flex-direction:column}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:11px;font-size:17px;font-weight:700;letter-spacing:.7px}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:.45px;color:#97a4bf;margin-top:2px}.brand-mark{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,#5089ff,#2853c0);font:700 19px 'Playfair Display',serif;color:#fff;box-shadow:0 8px 20px #050d2070}.user{margin:32px 5px 25px;padding:11px;display:flex;align-items:center;gap:10px;background:#24314b;border:1px solid #34435f;border-radius:13px}.user p{margin:0;font-weight:600;font-size:13px}.user small{display:block;color:#a4b1c7;font-weight:400;font-size:11px;margin-top:3px}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#a7c1ff;color:#17387e;font-weight:700}.nav-label{display:block;color:#7988a5;font-size:10px;font-weight:700;letter-spacing:1px;padding:12px 11px 7px}nav a{display:block;color:#b9c4d8;text-decoration:none;padding:11px;border-radius:9px;margin:2px 0;font-weight:500;transition:.18s}nav a:hover{background:#24344f;color:#fff;transform:translateX(2px)}nav a.logout{margin-top:20px;color:#aebbd1}.side-footer{margin-top:auto;padding:12px 10px;color:#6f7d98;font-size:11px}main{margin-left:258px;padding:34px 38px 48px;max-width:1550px}header{display:flex;justify-content:space-between;align-items:center;margin:0 0 27px}h1,h2,h3,p{margin-top:0}h2{font-size:27px;letter-spacing:-.8px;margin:4px 0 0}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:1.2px;color:var(--blue);margin-bottom:7px}.today{font-size:13px;color:var(--muted);background:#fff;border:1px solid var(--line);padding:9px 13px;border-radius:9px}.today i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin:0 7px 1px 0}.summary,.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:18px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary article,.card{background:var(--white);border:1px solid var(--line);border-radius:15px;padding:21px;box-shadow:0 4px 14px #27365b08}.summary article{position:relative;overflow:hidden}.summary article:after{content:'';position:absolute;right:-13px;bottom:-18px;width:70px;height:70px;border-radius:25px;transform:rotate(24deg);background:#eff4ff}.summary small,.card small{display:block;color:var(--muted);font-weight:500;margin-bottom:10px}.summary b,.large{display:block;font-size:23px;letter-spacing:-.6px;position:relative;z-index:1}.income{color:var(--green)}.expense{color:var(--red)}.muted{color:var(--muted);line-height:1.55}.card.wide{margin-top:18px;overflow:auto}.card h3{font-size:16px;letter-spacing:-.2px;margin-bottom:17px}.form label,.filters label{display:block;font-size:12px;font-weight:600;color:#49566d;margin:0 0 14px}.form input,.form select,.filters input,.filters select{width:100%;display:block;margin-top:7px;border:1px solid #dbe1ec;border-radius:9px;padding:11px 12px;background:#fbfcfe;color:var(--ink);font:inherit;transition:.18s}.form input:focus,.form select:focus,.filters input:focus,.filters select:focus{outline:none;border-color:#739aff;box-shadow:0 0 0 3px #2b68f018;background:#fff}button{border:0;background:linear-gradient(135deg,#3475fa,#2255d0);color:#fff;border-radius:9px;padding:11px 16px;font:600 13px 'DM Sans',sans-serif;cursor:pointer;box-shadow:0 6px 13px #2458cf30;transition:.18s}button:hover{transform:translateY(-1px);box-shadow:0 9px 18px #2458cf36}.secondary{background:#eef2f8;color:#4c5b73;box-shadow:none;font-size:12px;padding:8px 11px}.filters{display:flex;gap:12px;align-items:end;margin-bottom:21px}.filters label{flex:1;margin:0}table{width:100%;border-collapse:collapse}th{text-align:left;color:#8490a5;font-size:10px;letter-spacing:.7px;text-transform:uppercase}th,td{border-bottom:1px solid #edf0f5;padding:13px 8px}td{color:#3c4960;font-size:13px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbfe}.right{text-align:right}.badge{padding:4px 8px;border-radius:20px;font-size:11px;font-weight:700}.badge.income{background:#e1f7ed}.badge.expense{background:#fde8eb}.empty{text-align:center;color:#8a95a7;padding:30px}.flash{padding:12px 15px;border-radius:10px;margin:0 0 18px;font-size:13px;font-weight:500}.flash.success{background:#e4f8ee;color:#147150}.flash.error{background:#fee9ec;color:#b83445}
/* Giriş ve kurulum */.auth{min-height:100vh;background:#edf2ff}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,1.1fr) minmax(420px,.9fr)}.auth-intro{position:relative;overflow:hidden;padding:45px 8vw;background:radial-gradient(circle at 18% 84%,#385fce 0,#213b84 21%,transparent 44%),linear-gradient(135deg,#121e38,#172a56);color:#fff;display:flex;flex-direction:column}.auth-intro:before,.auth-intro:after{content:'';position:absolute;border:1px solid #ffffff1c;border-radius:50%}.auth-intro:before{width:600px;height:600px;right:-260px;top:-290px}.auth-intro:after{width:400px;height:400px;left:-260px;bottom:-300px}.auth-brand{position:relative;z-index:1}.auth-brand small{color:#b6c6e7}.intro-copy{position:relative;z-index:1;margin:auto 0}.intro-copy h1{font:600 clamp(39px,5vw,68px)/1.07 'Playfair Display',serif;letter-spacing:-2px;margin:13px 0 17px}.intro-copy em{font-weight:600;color:#adc6ff}.intro-copy p{max-width:360px;color:#c3cee2;line-height:1.65;font-size:16px}.intro-note{position:relative;z-index:1;border-left:2px solid #80a5ff;padding-left:14px;max-width:275px}.intro-note b,.intro-note span{display:block}.intro-note b{font-size:13px}.intro-note span{color:#b7c5de;font-size:12px;margin-top:4px;line-height:1.45}.auth-form{background:#fff;display:grid;place-items:center;padding:35px}.auth-form form{width:min(382px,100%)}.auth-form h2{font-size:28px;margin:5px 0 8px}.auth-form .muted{font-size:13px;margin-bottom:28px}.auth-form label{display:block;color:#4a566c;font-size:12px;font-weight:700;margin:0 0 16px}.auth-form input{display:block;width:100%;border:1px solid #dce2ed;border-radius:9px;padding:13px 13px;margin-top:7px;font:14px 'DM Sans',sans-serif;background:#fcfdff}.auth-form input:focus{outline:0;border-color:#6d96ff;box-shadow:0 0 0 3px #2e6af215}.auth-form button{width:100%;padding:13px;margin-top:4px;display:flex;justify-content:space-between;align-items:center;font-size:14px}.auth-form button span{font-size:20px;line-height:10px}.secure{text-align:center;color:#8b96a8;font-size:11px;margin:20px 0 0}.mobile-brand{display:none}.auth .flash{margin-bottom:15px}@media(max-width:900px){aside{width:222px}main{margin-left:222px;padding:28px 24px}.summary{grid-template-columns:repeat(2,1fr)}.auth-shell{grid-template-columns:1fr 430px}.auth-intro{padding:35px 42px}}@media(max-width:680px){aside{position:static;width:auto;padding:18px}.user,.side-footer,.nav-label{display:none}nav{display:flex;overflow:auto;gap:3px;margin-top:15px}nav a{white-space:nowrap;padding:8px 9px;margin:0}nav a.logout{margin:0}main{margin:0;padding:22px 15px}header{align-items:flex-start;gap:10px}.today{white-space:nowrap}.summary,.grid{grid-template-columns:1fr}.filters{display:grid;grid-template-columns:1fr 1fr}.filters button{height:43px}.auth-shell{display:block}.auth-intro{display:none}.auth-form{min-height:100vh;padding:25px}.mobile-brand{display:flex;align-items:center;gap:8px;font-weight:700;letter-spacing:.7px;margin-bottom:54px}.mobile-brand .brand-mark{display:inline-grid}.auth-form h2{font-size:26px}}@media(max-width:410px){.filters{grid-template-columns:1fr}.today{font-size:11px;padding:8px}.today i{display:none}h2{font-size:23px}}
