.app-container{display:flex;height:100vh;width:100vw;font-family:Microsoft JhengHei,sans-serif;overflow:hidden}.sidebar{width:220px;background-color:#2c3e50;display:flex;flex-direction:column;padding:20px 0;color:#fff}.sidebar-title{text-align:center;font-size:1.2rem;margin-bottom:30px;font-weight:700}.tab-button{background:none;border:none;color:#bdc3c7;padding:15px 25px;text-align:left;cursor:pointer;font-size:1rem;transition:.3s}.tab-button:hover{background-color:#34495e;color:#fff}.tab-button.active{background-color:#3498db;color:#fff;border-left:5px solid #ecf0f1}.main-content{flex-grow:1;background-color:#f4f7f6;padding:20px;overflow-y:auto}.search-container{position:relative;width:100%;margin-bottom:20px}.search-row{display:flex;align-items:center;gap:10px}.search-row input{padding:8px;width:250px;border:1px solid #ccc;border-radius:50px}.results-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:4px;z-index:999;list-style:none;padding:0;box-shadow:0 4px 10px #0000001a}.search-list li{padding:10px;display:flex;justify-content:space-between;cursor:pointer;border-bottom:1px solid #eee}.search-list li:hover{background-color:#f0f0f0}.search-list li:last-child{border-bottom:none}.results-dropdown li{padding:10px;cursor:pointer;display:flex;justify-content:space-between}.results-dropdown li:hover{background-color:#f0f7ff}.stock-id{font-weight:700;color:#333}.stock-name{color:#666}.stock-price{color:#e74c3c;font-size:.9rem}.trade-form-row{display:flex;align-items:flex-end;gap:15px;background-color:#fff;padding:15px;border-radius:8px;box-shadow:2 2px 4px #0000001a;margin-top:10px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-size:.85rem;color:#666}.form-group input{padding:8px;border:1px solid #ddd;border-radius:4px}.selected-info{justify-content:center;padding-bottom:10px;color:#3498db}.button-group{display:flex;gap:10px}.btn-buy{background-color:#e74c3c;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer}.btn-sell{background-color:#27ae60;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer}.btn-buy:hover,.btn-sell:hover{opacity:.8}.trade-page-container{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:40px}.page-header h1{color:#2c3e50;margin-bottom:5px}.page-header p{color:#7f8c8d}.empty-form-placeholder{height:100px;display:flex;align-items:center;justify-content:center;background-color:#f9f9f9;border:2px dashed #ddd;border-radius:8px;color:#bdc3c7}.placeholder-table{width:100%;border-collapse:collapse;background:#fff}.placeholder-table th,.placeholder-table td{border:1px solid #eee;padding:15px;text-align:center;color:#bdc3c7}.placeholder-table th{background-color:#f8f9fa;color:#95a5a6}.record-table{width:100%;border-collapse:collapse;margin-top:20px}.record-table th,.record-table td{border-bottom:1px solid #eee;padding:12px;text-align:left}.text-blue{color:#3498db;font-weight:700}.text-black{color:#2c3e50;font-weight:700}.filter-bar input{padding:8px;width:300px;border:1px solid #ddd;border-radius:4px}.profit-container{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:30px}.profit-card{background:#fff;padding:20px;border-radius:10px;box-shadow:0 4px 6px #0000000d;border:1px solid #eee}.profit-card label{font-size:.9rem;color:#7f8c8d;display:block;margin-bottom:10px}.profit-card .value{font-size:1.5rem;font-weight:700}.value.buy{color:#e74c3c}.value.sell{color:#2ecc71}.value.net{color:#34495e}.record-table{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 6px #0000000d}.btn-delete{background-color:transparent;color:#e74c3c;border:1px solid #e74c3c;padding:4px 8px;border-radius:4px;cursor:pointer;transition:all .3s}.btn-delete:hover{background-color:#e74c3c;color:#fff}.filter-section{margin:20px 0;display:flex;align-items:center;gap:10px}.filter-section select{padding:8px 12px;font-size:16px;border:1px solid #ccc;border-radius:6px;background-color:#fff;color:#333;cursor:pointer;outline:none;transition:border-color .2s,box-shadow .2s;font-family:Consolas,Monaco,Courier New,monospace;min-width:200px}.filter-section select:hover{border-color:#007bff}.filter-section select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff33}.filter-section select option{padding:10px;font-family:inherit}.reserve-info{background-color:#f0f4f8;padding:4px 12px;border-radius:6px;font-size:.95rem;color:#2c3e50;border:1px solid #d1d9e0}.reserve-info strong{color:#007bff}
