.loader-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh}.spinner{width:50px;height:50px;border:5px solid #f3f3f3;border-top:5px solid #007aff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state{text-align:center;margin-top:100px;padding:40px;background:#f9f9f9;border-radius:20px;border:2px dashed #ccc}.empty-icon{font-size:4rem;margin-bottom:20px}.start-btn{display:inline-block;margin-top:20px;padding:12px 24px;background-color:#007aff;color:#fff;text-decoration:none;border-radius:25px;font-weight:700}.Home{max-width:1000px;margin:0 auto;padding:40px 20px;font-family:Helvetica Neue,Arial,sans-serif}h1{font-size:1.5rem;margin-bottom:30px;color:#333}.card-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:30px}.card{background-color:#fff;border-radius:16px;overflow:hidden;transition:transform .2s;cursor:pointer;position:relative;padding-bottom:15px}.card:hover{transform:translateY(-5px)}.card img{width:100%;height:180px;object-fit:cover;border-radius:16px}.card h2.flag{position:absolute;left:15px;bottom:10px;font-size:3rem;margin:0}.card h3{text-align:right;margin:10px 15px 0 0;font-size:1.2rem;color:#333}.card p.period{text-align:right;margin:5px 15px 0 0;font-size:.85rem;color:#666}.card a{text-decoration:none;color:inherit;display:block}.card a:hover{text-decoration:none}.delete-icon-btn{background:none;border:none;cursor:pointer;opacity:.3;transition:opacity .2s;font-size:1.2rem}nav{display:flex;align-items:center;padding:10px 20px;background-color:#fff;box-shadow:0 2px 4px #0000001a;gap:20px;position:sticky;top:0;z-index:1000}.logo{font-size:1.2rem;font-weight:700;color:#333;margin-right:auto}nav a{text-decoration:none;color:#666;font-size:.9rem;display:flex;align-items:center;gap:5px;transition:color .2s}nav a:hover{color:#007aff}.user-info{display:flex;align-items:center;gap:12px;padding-left:15px;border-left:1px solid #eee}.user-info span{font-size:.85rem;color:#444;font-weight:500}.user-info button{background-color:#f0f0f0;border:none;padding:6px 12px;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .2s}.user-info button:hover{background-color:#ff3b30;color:#fff}@media(max-width:480px){nav{padding:10px;gap:15px}nav a{flex-direction:column;font-size:.7rem}.user-info span{display:none}.user-info button{padding:3px 6px;font-size:.6rem}}.TripDetail{max-width:1200px;margin:0 auto;padding:20px;min-height:100vh;font-family:Helvetica Neue,Arial,sans-serif}.detail-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px}.title-group{display:flex;align-items:center;gap:15px}.flag-large{font-size:4rem}h1{font-size:2rem;margin-bottom:30px;color:#333}.detail-content{display:grid;grid-template-columns:1fr 1fr;gap:20px}.analytics-section,.history-section{background-color:#e0e0e0;padding:20px;border-radius:24px}.rate-card,.total-card,.transaction-item{background-color:#fff;border-radius:16px;padding:15px;margin-bottom:15px;box-shadow:0 2px 4px #0000000d}.chart-container{width:250px;height:250px;margin:0 auto;padding-bottom:15px;position:relative;background-color:transparent}.rate-card{display:flex;justify-content:center;align-items:center;position:relative;font-size:1.8rem;font-weight:700}.edit-btn{position:absolute;right:15px;top:10px;background:none;border:none;color:#666;cursor:pointer}.section-header{display:flex;justify-content:flex-end;margin-bottom:10px}.add-btn{font-size:2rem;background:none;border:none;cursor:pointer}.transaction-item{display:flex;align-items:center;gap:15px}.item-icon{font-size:1.5rem}.item-info{flex-grow:1}.item-name{font-weight:700;margin:0}.item-date{font-size:.75rem;color:#888;margin:0}.item-amount{font-weight:700}.total-card h2{text-align:center;margin-bottom:0;font-size:1.8rem;line-height:1.2}.sub-total{text-align:right;color:#999;padding:0;margin-top:0;margin-bottom:15px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0006;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background-color:#f1f1f1;padding:30px;border-radius:28px;width:90%;max-width:500px;position:relative;box-shadow:0 10px 25px #0003}.modal-content h1{font-size:1.2rem;margin-bottom:20px;text-align:center}.addItem{margin-bottom:15px}.addItem label{display:block;margin-bottom:5px;font-size:.9rem;color:#666}.addItem input{width:100%;padding:12px 20px;border-radius:20px;border:1px solid #ddd;background-color:#fff;font-size:1rem;box-sizing:border-box}.category-list{margin-top:20px}.category-list h2{font-size:.9rem;margin-bottom:10px;color:#666}.category-list{display:flex;flex-wrap:wrap;gap:10px}.category-list button{background-color:#fff;border:2px solid transparent;padding:10px 15px;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;font-size:.8rem;transition:all .2s ease;min-width:70px}.category-list button span{font-size:1.5rem;margin-bottom:5px}.category-list button.active{border-color:#333;background-color:#f0f0f0;transform:scale(1.05)}.postButton{display:block;width:100px;margin:30px auto 0;padding:10px;background-color:#000;color:#fff;border:none;border-radius:20px;cursor:pointer;font-weight:700}.postButton:hover{background-color:#333}.close-btn{position:absolute;top:15px;right:15px;background:none;border:none;font-size:1.2rem;cursor:pointer}.rate-card{background-color:#fff;border-radius:16px;padding:15px 20px;margin-bottom:15px;display:flex;flex-direction:column;align-items:center;position:relative;box-shadow:0 2px 4px #0000000d}.last-update-text{position:absolute;bottom:5px;right:15px;font-size:5px;color:#999;margin:0}.rate-value{font-size:1.8rem;font-weight:700;margin:0}.rate-card button{background-color:#f0f0f0;border:1px solid #ddd;padding:5px 12px;border-radius:8px;cursor:pointer;font-size:.85rem;transition:background-color .2s}.rate-card button:hover{background-color:#e5e5e5}.edit-btn{position:absolute;right:15px;top:10px}.rate-input{width:80px;font-size:1.5rem;font-weight:700;padding:5px 10px;border:2px solid #333;border-radius:8px;text-align:center;outline:none}.rate-card span{font-size:1.2rem;font-weight:700;color:#666}.rate-card button:last-child{background-color:#333;color:#fff;border:none;font-weight:700}.rate-card button:last-child:hover{background-color:#000}.delete-icon-btn,.trip-delete-btn{background:none;border:none;cursor:pointer;opacity:.3;transition:opacity .2s;font-size:1.2rem}.trip-delete-btn{position:absolute;top:90px;right:10%;font-size:1rem;padding:5px}.delete-icon-btn:hover{opacity:1;color:#ff3b30}.rate-main-row{display:flex;align-items:center;justify-content:center;gap:10px;width:100%}.last-update-text{width:100%;font-size:10px;color:#999;margin-top:8px;text-align:right;font-weight:400}@media(max-width:768px){.detail-content{grid-template-columns:1fr;gap:15px}.detail-header{display:flex;flex-direction:column;align-items:flex-start;position:relative;width:100%}.title-group{margin-bottom:10px}.flag-large{font-size:3rem}h1{font-size:1.5rem;margin-bottom:10px}.date-range{align-self:flex-end;text-align:left;font-size:.65rem}.trip-delete-btn{position:absolute;top:100px;right:20px;font-size:.75rem;padding:5px}}.rate-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:30px 20px 20px}.rate-value{font-size:1.8rem;margin:10px 0}.edit-btn{top:10px;right:10px;background-color:#333!important;color:#fff!important;padding:4px 12px;border-radius:6px;font-size:.7rem}.last-update-text{align-self:flex-end;margin-top:10px}.create-container{min-height:100vh;background-color:#f8f9fa;display:flex;justify-content:center;align-items:center;padding:20px}.create-card{background:#fff;width:100%;max-width:450px;padding:40px;border-radius:24px;box-shadow:0 10px 25px #0000000d}.create-card h1{font-size:1.5rem;margin-bottom:30px;text-align:center;color:#333}.form-group{margin-bottom:20px;display:flex;flex-direction:column}.form-group label{font-size:.85rem;font-weight:700;margin-bottom:8px;color:#666}.form-row{display:flex;gap:15px}.form-row .form-group{flex:1}input[type=date],select{padding:12px;border:1px solid #ddd;border-radius:12px;font-size:1rem;outline:none;transition:border-color .2s}input[type=date]:focus,select:focus{border-color:#007aff}.button-group{margin-top:30px;display:flex;flex-direction:column;gap:10px}.submit-btn{background-color:#333;color:#fff;padding:15px;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s}.submit-btn:hover{background-color:#000}.cancel-btn{background-color:transparent;color:#888;padding:10px;border:none;cursor:pointer;font-size:.9rem}.cancel-btn:hover{color:#333;text-decoration:underline}
