:root{color-scheme:light;--bg:#f4f7f8;--panel:#ffffff;--panel2:#edf3f5;--line:#dbe4e8;--text:#183038;--muted:#6f8188;--accent:#168c91;--red:#c94d59;--green:#278a63}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}header{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));position:sticky;top:0;background:rgba(244,247,248,.94);backdrop-filter:blur(14px);z-index:5}.brand{font-weight:900;font-size:20px;letter-spacing:-.04em}.brand:first-letter{color:var(--accent)}.brand span{font-weight:650;margin-left:8px;font-size:14px;letter-spacing:0}nav{display:flex;gap:7px}nav a{padding:8px 12px;border-radius:8px;color:var(--muted)}nav a:hover{background:var(--panel2);color:var(--text)}main{max-width:1180px;margin:0 auto;padding:46px 24px 80px}.hero,.section-head{display:flex;align-items:center;justify-content:space-between;gap:24px}.hero{margin-bottom:28px}.hero h1,.top h1{font-size:38px;letter-spacing:-.045em;margin:3px 0 6px}.hero p,.top p{color:var(--muted);margin:0;max-width:650px}.eyebrow{font-size:11px!important;color:var(--accent)!important;font-weight:800;letter-spacing:.15em}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 24px}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 18px rgba(24,48,56,.045)}.card{padding:20px}.card span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.card strong{font-size:26px;display:block;margin-top:6px}.panel{padding:24px;margin-top:18px}.section-head h2{margin:0;font-size:18px}.section-head>a{color:var(--muted)}.top{margin-bottom:24px}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:9px;padding:10px 15px;font:inherit;font-weight:700;cursor:pointer}.button.primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 3px 10px rgba(22,140,145,.16)}.button.primary:hover{background:#117a7f}.button.danger{border-color:#e6bfc3;color:#b63f4a;background:#fff7f8}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}th,td{padding:13px 10px;border-bottom:1px solid var(--line)}tbody tr:last-child td{border-bottom:0}.clickable{cursor:pointer}.clickable:hover{background:#f4f8f9}td small,.master-list small{display:block;color:var(--muted)}.badge{font-size:10px;font-weight:900;padding:4px 7px;border-radius:5px;vertical-align:middle}.badge.long{background:#e8f5ef;color:var(--green)}.badge.short{background:#faecee;color:var(--red)}.pos{color:var(--green)}.neg{color:var(--red)}.form label{display:block;color:var(--muted);font-size:12px;font-weight:700}.form input,.form select,.form textarea{width:100%;margin-top:7px;background:#f9fbfc;border:1px solid var(--line);border-radius:8px;color:var(--text);padding:11px 12px;font:inherit;outline:none}.form input:not([type="file"]),.form select{height:74px}.form input:focus,.form select:focus,.form textarea:focus{border-color:#168c91;box-shadow:0 0 0 3px rgba(22,140,145,.10)}.grid{display:grid;gap:16px;margin-bottom:17px}.grid.two{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}.actions{display:flex;gap:9px;align-items:center}.form>.actions{margin-top:20px}.dropzone{margin-top:7px;border:1px dashed #9eb3ba;border-radius:10px;padding:24px;text-align:center;position:relative;background:#f9fbfc}.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}.dropzone b,.dropzone span{display:block}.dropzone span{font-weight:400;margin-top:3px}.detail{margin-top:0}.notes{white-space:normal;color:#41575f}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.gallery figure{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#f9fbfc}.gallery img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.gallery figcaption{display:flex;justify-content:space-between;gap:10px;padding:9px 11px;color:var(--muted);font-size:11px}.gallery figcaption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link{border:0;background:none;color:var(--muted);font:inherit;padding:0;cursor:pointer}.danger-text{color:#b63f4a}.count{font-size:11px;color:var(--muted);font-weight:500}.tabs{display:flex;gap:6px;margin-bottom:18px}.tabs a{padding:8px 13px;border-radius:8px;color:var(--muted)}.tabs a.active{background:var(--panel2);color:var(--text)}.master-grid{display:grid;grid-template-columns:380px 1fr;gap:18px}.master-grid .panel{margin-top:0}.compact label{margin-bottom:15px}.master-list>div{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 0;border-bottom:1px solid var(--line)}.master-list>div:last-child{border-bottom:0}.flash{padding:12px 15px;border-radius:9px;margin-bottom:16px;border:1px solid var(--line)}.flash.success{background:#edf8f3;color:var(--green);border-color:#cce9dc}.flash.error{background:#fff1f2;color:#b63f4a;border-color:#efcdd0}.muted{color:var(--muted)}@media(max-width:800px){header{padding:0 15px}.brand span{display:none}nav a{padding:8px}main{padding:28px 15px 60px}.hero,.section-head.top{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:repeat(2,1fr)}.grid.two,.grid.three,.grid.four,.master-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}nav a:first-child{display:none}}
/* Screenshot-Manager & Trade-Detail */
.section-subtitle{margin:4px 0 0;font-size:12px}.fact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:18px}.fact-grid span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em}.fact-grid strong{display:block;margin-top:4px;font-size:16px}.screenshot-upload{margin-top:18px}.compact-drop{padding:20px}.dropzone.is-dragover{border-color:var(--accent);background:#eef9f9;box-shadow:0 0 0 3px rgba(22,140,145,.10)}.dropzone:focus-within,.dropzone:focus{border-color:var(--accent);outline:none}.upload-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}.upload-preview:empty{display:none}.preview-item{position:relative;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#f9fbfc}.preview-item img{width:100%;aspect-ratio:16/9;display:block;object-fit:cover}.preview-item span{display:block;padding:6px 8px;font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-submit{margin-top:12px}.empty-state{margin:22px 0 2px}.managed-gallery figure{overflow:visible}.shot-image{display:block;position:relative;overflow:hidden;border-radius:10px 10px 0 0}.shot-image img{transition:transform .18s ease}.shot-image:hover img{transform:scale(1.015)}.open-hint{position:absolute;right:8px;bottom:8px;background:rgba(24,48,56,.82);color:#fff;padding:5px 8px;border-radius:6px;font-size:10px;opacity:0;transition:opacity .18s}.shot-image:hover .open-hint{opacity:1}.managed-gallery figcaption{display:block}.caption-form{display:flex;gap:7px;align-items:center}.caption-form input{min-width:0;flex:1;border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 8px;color:var(--text);font:inherit;font-size:11px}.caption-form input:focus{outline:none;border-color:var(--accent)}.managed-gallery figcaption small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:6px}.shot-actions{display:flex;align-items:center;gap:6px;margin-top:9px}.shot-actions form:last-child{margin-left:auto}.mini-button{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:6px;padding:2px 8px;cursor:pointer}.mini-button:disabled{opacity:.35;cursor:default}@media(max-width:800px){.fact-grid{grid-template-columns:repeat(2,1fr)}.upload-preview{grid-template-columns:repeat(2,1fr)}}

/* Dashboard & Journal filters */
.stats-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.equity-panel{margin-top:24px;}
.equity-panel .section-head p{margin:4px 0 0;}
.equity-chart{height:280px;margin-top:18px;position:relative;}
.equity-chart svg{width:100%;height:240px;overflow:visible;}
.equity-line{fill:none;stroke:var(--accent,#168579);stroke-width:1.8;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;}
.chart-axis{stroke:#d8e2e5;stroke-width:1;vector-effect:non-scaling-stroke;}
.chart-labels{display:flex;justify-content:space-between;color:#74858b;font-size:.85rem;margin-top:8px;}
.empty-chart{min-height:160px;display:flex;align-items:center;justify-content:center;color:#74858b;background:#f7fafb;border-radius:14px;margin-top:18px;text-align:center;padding:24px;}
.filter-panel{margin-bottom:20px;}
.trade-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:end;}
.trade-filters label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#657980;}
.trade-filters input,.trade-filters select{min-height:48px;height:48px;padding:0 12px;}
.filter-actions{display:flex;gap:10px;align-items:center;}
@media(max-width:1000px){.stats-4{grid-template-columns:repeat(2,minmax(0,1fr));}.trade-filters{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:650px){.stats-4,.trade-filters{grid-template-columns:1fr;}.equity-chart{height:220px}.equity-chart svg{height:180px}}

/* Trading-Kalender */
.calendar-stats{margin-bottom:24px}.calendar-panel{padding:24px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;text-align:center}.calendar-toolbar h2{margin:0;font-size:22px}.calendar-toolbar .button{width:42px;height:42px;padding:0;font-size:24px}.calendar-today{display:inline-block;margin-top:3px;color:var(--accent);font-size:12px;font-weight:700}.trading-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.trading-day-card{border:1px solid var(--line);border-top:3px solid #9eb3ba;border-radius:12px;background:#fff;overflow:hidden;position:relative;transition:transform .15s ease,box-shadow .15s ease}.trading-day-card.is-positive{border-top-color:var(--green)}.trading-day-card.is-negative{border-top-color:var(--red)}.trading-day-card:hover{transform:translateY(-1px);box-shadow:0 7px 22px rgba(24,48,56,.08)}.trading-day-card.is-today:after{content:"";position:absolute;inset:5px;border:1px solid var(--accent);border-radius:8px;pointer-events:none}.trading-day-link{display:block;padding:14px 18px 13px}.trading-day-date{height:auto;display:flex;align-items:baseline;gap:7px;padding:0;margin:0 0 10px;border:0;background:none;position:static;backdrop-filter:none;line-height:1.2}.trading-day-weekday{display:inline;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;line-height:1.2;margin:0}.trading-day-separator{color:var(--muted);font-size:13px}.trading-day-date strong{display:inline;font-size:16px;line-height:1.2;letter-spacing:-.015em}.trading-day-result{font-size:25px;font-weight:850;line-height:1.15;white-space:nowrap;margin-bottom:9px}.trading-day-meta{display:flex;flex-wrap:wrap;gap:7px}.trading-day-meta span{padding:5px 8px;border-radius:6px;background:var(--panel2);color:#536970;font-size:11px;font-weight:700}.trading-day-action{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:12px;font-weight:800;color:var(--text)}.trading-day-action span{font-size:18px;line-height:1;color:var(--accent)}.calendar-empty{padding:34px;text-align:center;color:var(--muted);background:#f8fafb;border:1px dashed var(--line);border-radius:10px}.calendar-legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:20px;color:var(--muted);font-size:11px}.calendar-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:9px;height:9px;border-radius:50%;background:#9eb3ba}.legend-dot.positive{background:var(--green)}.legend-dot.negative{background:var(--red)}@media(max-width:900px){.trading-days{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.calendar-panel{padding:16px}.trading-days{grid-template-columns:1fr}.trading-day-link{padding:13px 15px 12px}.trading-day-date strong{font-size:15px}.trading-day-result{font-size:23px}}

/* Trade-Review */
.trade-review{max-width:1180px;margin:0 auto}.review-head{margin-bottom:20px}.review-kpis{margin-bottom:18px}.review-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:18px}.review-grid .panel{margin-top:0}.review-section{margin-top:18px}.review-section .section-head{margin-bottom:0}.execution-table{margin-top:16px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.execution-row{display:grid;grid-template-columns:.8fr repeat(3,1fr);align-items:center;min-height:48px;border-top:1px solid var(--line)}.execution-row:first-child{border-top:0}.execution-row>*{padding:10px 12px}.execution-header{min-height:38px;background:var(--panel2);color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.execution-row strong{font-size:13px}.execution-row span:not(.pos):not(.neg){color:#42575e}.review-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.review-facts-wide{grid-template-columns:repeat(3,minmax(0,1fr))}.review-facts span{display:block;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.review-facts strong{display:block;margin-top:5px;font-size:15px}.review-notes{margin-top:16px;line-height:1.65}.review-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.print-caption{display:none;font-weight:700;color:var(--text)}
@media(max-width:800px){.review-grid{grid-template-columns:1fr}.review-facts-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.execution-row{grid-template-columns:.7fr repeat(3,1fr)}.execution-row>*{padding:9px 7px;font-size:11px}.review-gallery{grid-template-columns:1fr}}
@media print{@page{size:A4;margin:12mm}body{background:#fff!important;color:#172d34!important}header,.no-print,.flash{display:none!important}main{max-width:none!important;padding:0!important}.trade-review{max-width:none!important}.review-head{margin-bottom:12px!important}.review-head h1{font-size:25px!important}.review-head p{margin-bottom:2px}.stats{gap:8px!important;margin-bottom:10px!important}.card,.panel{box-shadow:none!important;border:1px solid #d8e2e5!important;break-inside:avoid}.card{padding:10px 12px!important}.card span{font-size:9px!important}.card strong{font-size:17px!important}.review-grid{gap:10px!important}.review-section{margin-top:10px!important;padding:13px!important}.review-section h2{font-size:16px!important}.eyebrow{font-size:8px!important}.execution-table,.review-facts{margin-top:10px!important}.execution-row{min-height:36px!important}.execution-row>*{padding:6px 8px!important}.review-facts{gap:10px!important}.review-facts strong{font-size:12px!important}.review-notes{font-size:11px!important;line-height:1.45!important}.screenshots-section{break-before:auto}.review-gallery{display:block!important;margin-top:10px!important}.review-gallery figure{break-inside:avoid!important;margin:0 0 10px!important;border:1px solid #d8e2e5!important}.review-gallery img{aspect-ratio:auto!important;max-height:225mm!important;object-fit:contain!important;background:#fff}.review-gallery figcaption{padding:6px 8px!important}.print-caption{display:block!important;font-size:10px!important}.badge{-webkit-print-color-adjust:exact;print-color-adjust:exact}.pos,.neg{-webkit-print-color-adjust:exact;print-color-adjust:exact}}


/* Backup & Restore */
.backup-top{margin-bottom:24px}.backup-stats{margin-bottom:18px}.backup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.backup-grid .panel{margin-top:0}.backup-card{display:flex;flex-direction:column;align-items:flex-start;gap:18px;min-height:300px}.backup-card h2,.backup-info h2{margin:0 0 8px}.backup-card p{margin-top:0}.backup-card .button{margin-top:auto}.backup-icon{width:44px;height:44px;border-radius:12px;background:var(--panel2);display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:25px;font-weight:800}.restore-card .backup-icon{color:#8b6670}.restore-form{width:100%;margin-top:auto}.restore-form label{display:block;color:var(--muted);font-size:12px;font-weight:700}.restore-form input[type=file]{display:block;width:100%;margin:7px 0 12px;padding:11px;border:1px solid var(--line);border-radius:8px;background:#f9fbfc;color:var(--text)}.backup-info{margin-top:18px}.backup-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:18px}.backup-checks b,.backup-checks span{display:block}.backup-checks b{font-size:13px}.backup-checks span{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.5}@media(max-width:800px){.backup-grid,.backup-checks{grid-template-columns:1fr}.backup-card{min-height:0}.backup-card .button,.restore-form{margin-top:8px}}


/* Login & Ersteinrichtung */
.auth-shell{min-height:calc(100vh - 126px);display:flex;align-items:center;justify-content:center;padding:30px 0}.auth-card{width:min(440px,100%);padding:34px;margin:0}.auth-brand{width:48px;height:48px;border-radius:13px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px;margin-bottom:22px}.auth-card h1{font-size:32px;letter-spacing:-.04em;margin:3px 0 8px}.auth-copy{color:var(--muted);margin:0 0 24px}.auth-form{display:grid;gap:16px}.auth-form .button{width:100%;margin-top:4px}.auth-note{font-size:11px;color:var(--muted);margin:18px 0 0}.nav-logout{display:flex;margin:0}.nav-logout button{border:0;background:transparent;padding:8px 12px;border-radius:8px;color:var(--muted);font:inherit;cursor:pointer}.nav-logout button:hover{background:var(--panel2);color:var(--text)}
