body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%}.home-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px}.home-container{text-align:center;background:#fff;padding:60px 80px;border-radius:25px;box-shadow:0 20px 60px #0000004d}.home-title{font-size:48px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:20px}.home-subtitle{font-size:18px;color:#4a5568;margin-bottom:40px}.upload-btn-home{padding:18px 50px;font-size:18px;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 10px 25px #667eea4d}.upload-btn-home:hover{transform:translateY(-3px);box-shadow:0 15px 35px #667eea66}.react-calendar{width:350px;max-width:100%;background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar *:before,.react-calendar *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.react-calendar button{margin:0;border:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{min-width:44px;background:none}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{display:flex;align-items:center;justify-content:center;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{max-width:100%;padding:10px 6.6667px;background:none;text-align:center;font:inherit;font-size:.833em}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.upload-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:40px 20px}.upload-container{max-width:900px;margin:0 auto;background:#fff;padding:50px;border-radius:25px;box-shadow:0 20px 60px #0000004d}.upload-title{font-size:32px;font-weight:700;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:40px}.date-section{margin-bottom:30px}.date-section h3{font-size:20px;color:#2d3748;margin-bottom:20px}.calendar-wrapper{display:flex;justify-content:center;margin-bottom:20px}.react-calendar{border:2px solid #2d3748;border-radius:12px;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;width:100%;max-width:500px}.react-calendar__tile--active,.react-calendar__tile.selected-date{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important;border-radius:8px}.react-calendar__tile:hover{background:#edf2f7;border-radius:8px}.manual-date-entry{display:flex;gap:10px;margin:20px 0;justify-content:center}.date-input{padding:12px;border:2px solid #2d3748;border-radius:10px;font-size:16px;background:#f7fafc;transition:all .3s ease}.date-input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.add-date-btn{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.add-date-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.selected-dates-list{margin-top:20px;padding:20px;background:#f7fafc;border-radius:12px;border:2px solid #e2e8f0}.selected-dates-list h4{font-size:16px;color:#2d3748;margin-bottom:15px}.dates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.date-chip{display:flex;align-items:center;justify-content:space-between;padding:10px 15px;background:#fff;border:2px solid #667eea;border-radius:8px;font-size:14px;color:#2d3748}.remove-date-btn{background:#e53e3e;color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.remove-date-btn:hover{background:#c53030;transform:scale(1.1)}.file-section{margin-bottom:30px}.file-upload-label{display:inline-block;padding:14px 30px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;cursor:pointer;font-size:16px;font-weight:600;transition:all .3s ease}.file-upload-label:hover{transform:translateY(-2px);box-shadow:0 10px 25px #667eea66}.file-input-hidden{display:none}.selected-files{margin-top:20px;padding:20px;background:#f7fafc;border-radius:12px;border:2px solid #e2e8f0}.selected-files h3{font-size:16px;color:#2d3748;margin-bottom:10px}.selected-files ul{list-style:none;padding:0}.selected-files li{padding:8px 0;color:#4a5568;border-bottom:1px solid #e2e8f0}.selected-files li:last-child{border-bottom:none}.upload-submit-btn{width:100%;padding:16px;font-size:18px;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;cursor:pointer;transition:all .3s ease}.upload-submit-btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px #667eea66}@media(max-width:768px){.upload-container{padding:30px 20px}.dates-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.input-mode-tabs{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.input-mode-tabs button{padding:12px 20px;border:2px solid #2d3748;background:#fff;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;color:#2d3748}.input-mode-tabs button:hover{background:#f7fafc}.input-mode-tabs button.tab-active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.input-hint{color:#4a5568;font-size:14px;margin-bottom:15px;font-style:italic}.manual-input-section,.range-input-section,.bulk-input-section{padding:20px;background:#f7fafc;border-radius:12px;margin-bottom:20px}.date-input-text{padding:12px;border:2px solid #2d3748;border-radius:10px;font-size:16px;background:#fff;transition:all .3s ease;flex:1}.date-input-text:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.range-inputs{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}.range-input-group{display:flex;flex-direction:column;gap:8px}.range-input-group label{font-size:14px;font-weight:600;color:#2d3748}.bulk-textarea{width:100%;padding:12px;border:2px solid #2d3748;border-radius:10px;font-size:16px;font-family:Courier New,monospace;background:#fff;resize:vertical;margin-bottom:15px;transition:all .3s ease}.bulk-textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.full-width{width:100%}.dates-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.clear-all-btn{padding:8px 16px;background:#e53e3e;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.clear-all-btn:hover{background:#c53030;transform:translateY(-2px)}.upload-container{max-height:90vh;overflow-y:auto}.upload-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.upload-submit-btn:disabled:hover{transform:none;box-shadow:none}.results-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:40px 20px}.results-container{max-width:1200px;margin:0 auto;background:#fff;padding:50px;border-radius:25px;box-shadow:0 20px 60px #0000004d}.results-title{font-size:32px;font-weight:700;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:30px}.date-range-info{text-align:center;margin-bottom:40px;padding:20px;background:#f7fafc;border-radius:12px}.date-range-info p{margin:5px 0;color:#4a5568;font-size:16px}.dates-summary{margin-top:15px}.dates-summary strong{display:block;margin-bottom:10px;color:#2d3748}.dates-list{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.date-badge{padding:6px 12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:6px;font-size:14px;font-weight:500}.table-container{margin:30px 0;overflow-x:auto;border-radius:12px;box-shadow:0 4px 15px #0000001a}.results-table{width:100%;border-collapse:collapse;background:#fff}.results-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.results-table th{padding:16px;text-align:left;font-weight:600;font-size:16px;border:none}.results-table tbody tr{border-bottom:1px solid #e2e8f0;transition:all .3s ease}.results-table tbody tr:hover{background:#f7fafc;transform:scale(1.01)}.results-table td{padding:16px;font-size:15px;color:#2d3748}.stock-name{font-weight:700;color:#667eea;font-size:16px}.profit-cell{color:#38a169;font-weight:600}.loss-cell{color:#e53e3e;font-weight:600}.results-table tfoot{background:#f7fafc;border-top:3px solid #667eea}.total-row td{padding:18px 16px;font-size:16px}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:30px 0}.summary-card{padding:25px;border-radius:12px;text-align:center;box-shadow:0 4px 15px #0000001a;transition:all .3s ease}.summary-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.profit-card{background:linear-gradient(135deg,#38a169,#2f855a);color:#fff}.loss-card{background:linear-gradient(135deg,#e53e3e,#c53030);color:#fff}.avg-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.summary-card h3{font-size:16px;margin-bottom:10px;opacity:.9}.big-number{font-size:36px;font-weight:700;margin:0}.back-btn{width:100%;padding:16px;font-size:18px;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;cursor:pointer;transition:all .3s ease}.back-btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px #667eea66}.view-details-btn{padding:8px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.view-details-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.details-section{margin:30px 0;padding:30px;background:#f7fafc;border-radius:15px;border:2px solid #667eea}.details-section h3{font-size:24px;color:#2d3748;margin-bottom:20px;text-align:center}.days-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.days-column h4{font-size:18px;margin-bottom:15px;padding:10px;border-radius:8px;text-align:center}.profit-column h4{background:linear-gradient(135deg,#38a169,#2f855a);color:#fff}.loss-column h4{background:linear-gradient(135deg,#e53e3e,#c53030);color:#fff}.days-list{display:flex;flex-direction:column;gap:10px;max-height:500px;overflow-y:auto;padding:10px}.day-card{padding:15px;border-radius:10px;border:2px solid;background:#fff;transition:all .3s ease}.day-card:hover{transform:translate(5px);box-shadow:0 5px 15px #0000001a}.profit-day{border-color:#38a169}.loss-day{border-color:#e53e3e}.day-date{font-size:16px;font-weight:700;color:#2d3748;margin-bottom:8px}.day-info{display:flex;justify-content:space-between;font-size:14px;color:#4a5568}.day-change{font-weight:700;font-size:15px}.profit-day .day-change{color:#38a169}.loss-day .day-change{color:#e53e3e}.no-data{text-align:center;color:#718096;padding:20px;font-style:italic}@media(max-width:768px){.days-grid{grid-template-columns:1fr}}.slot-system{margin:30px 0}.slot-title{font-size:22px;font-weight:700;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:20px}.slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.slot-card{background:#f7fafc;border-radius:14px;padding:20px;box-shadow:0 4px 15px #00000014;border:2px solid #e2e8f0}.slot-stock-name{font-size:18px;font-weight:700;color:#667eea;margin-bottom:14px;text-align:center}.slot-items{display:flex;flex-direction:column;gap:10px}.slot-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-radius:8px;font-size:14px;font-weight:600}.slot-label{opacity:.9}.slot-value{font-size:20px;font-weight:700}.profit-to-loss{background:linear-gradient(135deg,#38a16922,#e53e3e22);color:#c53030;border:1px solid #e53e3e55}.loss-to-profit{background:linear-gradient(135deg,#e53e3e22,#38a16922);color:#276749;border:1px solid #38a16955}.profit-days-to-loss{background:#fff5f5;color:#c53030;border:1px solid #feb2b2}.loss-days-to-profit{background:#f0fff4;color:#276749;border:1px solid #9ae6b4}.sort-controls{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.sort-select{padding:10px 16px;font-size:14px;font-weight:600;color:#2d3748;background:#fff;border:2px solid #667eea;border-radius:8px;cursor:pointer;outline:none;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;transition:box-shadow .2s}.sort-select:focus{box-shadow:0 0 0 3px #667eea40}.dd-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:40px 20px}.dd-container{max-width:900px;margin:0 auto;background:#fff;padding:40px;border-radius:25px;box-shadow:0 20px 60px #0000004d}.dd-title{font-size:28px;font-weight:700;display:flex;align-items:center;gap:12px;margin-bottom:30px}.dd-profit{color:#38a169}.dd-loss{color:#e53e3e}.dd-count{background:#f7fafc;border-radius:20px;padding:4px 16px;font-size:20px;color:#2d3748;border:2px solid #e2e8f0}.dd-table-wrap{overflow-x:auto;border-radius:12px;box-shadow:0 4px 15px #00000014}.dd-table{width:100%;border-collapse:collapse}.dd-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.dd-table th{padding:14px 16px;text-align:left;font-size:15px}.dd-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background .2s}.dd-table tbody tr:hover{background:#f7fafc}.dd-table td{padding:13px 16px;font-size:14px;color:#2d3748}.dd-stock{font-weight:700;color:#667eea}.dd-green{color:#38a169;font-weight:700}.dd-red{color:#e53e3e;font-weight:700}.dd-empty{text-align:center;padding:30px;color:#718096;font-style:italic}.dd-back-btn{margin-top:30px;padding:12px 28px;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;cursor:pointer;transition:all .2s}.dd-back-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}
