:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.comment-actions{text-align:right;margin-bottom:5px}.comment-toggle-btn{background:none;border:none;color:#007bff;cursor:pointer;font-size:.9rem;text-decoration:underline;padding:5px}.comment-toggle-btn:hover{color:#0056b3}.comment-box{background-color:#f9f9f9;padding:15px;border-radius:8px;margin-top:10px;border:1px solid #eee}.comment-item{border-bottom:1px solid #e0e0e0;padding:10px 0}.comment-item:last-child{border-bottom:none}.comment-header{display:flex;justify-content:space-between;font-size:.85rem;color:#666;margin-bottom:4px}.comment-author{font-weight:700;color:#444}.comment-ip{font-size:.75rem;color:#999}.comment-body{color:#333;line-height:1.4;word-wrap:break-word}.empty-tip{color:#aaa;font-style:italic;text-align:center;padding:10px}.comment-form{display:flex;flex-direction:column;margin-top:15px}.comment-form textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;resize:vertical;min-height:60px;font-family:inherit}.comment-form button{margin-top:10px;align-self:flex-end;padding:6px 16px;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.comment-form button:disabled{background-color:#94d3a2;cursor:not-allowed}.comment-form button:hover:not(:disabled){background-color:#218838}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-content{background:#fff;padding:25px;border-radius:12px;width:90%;max-width:400px;box-shadow:0 5px 15px #0000004d;position:relative;animation:slideIn .3s ease-out}.modal-content h3{margin-top:0;margin-bottom:10px;text-align:center;color:#333}.modal-tip{font-size:.9rem;color:#666;text-align:center;margin-bottom:20px}.modal-content input{width:100%;padding:12px;margin-bottom:15px;border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:16px}.modal-content input:focus{border-color:#007bff;outline:none}.submit-btn{width:100%;padding:12px;background-color:#007bff;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:700;cursor:pointer;transition:background-color .2s}.submit-btn:disabled{background-color:#ccc;cursor:not-allowed}.submit-btn:hover:not(:disabled){background-color:#0056b3}.auth-msg{color:#d9534f;background:#f9d6d5;padding:10px;border-radius:4px;margin-bottom:15px;font-size:.9rem;text-align:center}.switch-mode{margin-top:20px;text-align:center;font-size:.9rem;color:#555}.switch-mode span{color:#007bff;cursor:pointer;font-weight:700;margin-left:5px;text-decoration:underline}.close-btn{margin-top:15px;background:none;border:none;color:#999;width:100%;cursor:pointer;font-size:.9rem}.close-btn:hover{color:#666}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}:root{--primary-color: #007bff;--bg-color: #f5f5f5;--text-main: #333;--border-radius: 8px;--input-height: 48px}body{margin:0;padding:0;color:var(--text-main);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--bg-color);-webkit-tap-highlight-color:transparent}.app-container{max-width:800px;margin:0 auto;padding-bottom:50px}.header{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#fff;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100}.logo{font-weight:700;font-size:1.1rem;color:var(--primary-color);line-height:1.4}.user-status{font-size:.9rem}.login-btn{margin-left:10px;padding:6px 12px;border:1px solid var(--primary-color);background:transparent;color:var(--primary-color);border-radius:4px}.qr-section{display:flex;justify-content:space-between;gap:15px;margin:15px}.qr-card{flex:1;background:#fff;padding:15px 10px;border-radius:var(--border-radius);box-shadow:0 2px 8px #0000000d;text-align:center;display:flex;flex-direction:column;align-items:center;border-top:3px solid #ffc107}.qr-card:last-child{border-top:3px solid #28a745}.qr-card img{width:120px;height:120px;object-fit:contain;margin-bottom:8px;border:1px solid #eee;padding:2px;border-radius:4px}.qr-title{font-size:.9rem;font-weight:700;color:#333;margin-bottom:4px}.qr-desc{font-size:.75rem;color:#666}@media(max-width:380px){.qr-card img{width:100px;height:100px}}.publish-section{background:#fff;margin:15px;padding:20px;border-radius:var(--border-radius);box-shadow:0 2px 8px #0000000d}.publish-section h2{margin-top:0;font-size:1.2rem;border-bottom:1px solid #eee;padding-bottom:10px;color:#333}.publish-form{display:flex;flex-direction:column;gap:15px}.form-row{display:flex;gap:10px;align-items:flex-start}.input-wrapper{position:relative;flex:1;display:flex;flex-direction:column}.input-label-text{font-size:12px;color:#666;margin-bottom:4px;font-weight:700;padding-left:2px}.required-star{position:absolute;right:10px;bottom:12px;color:red;font-size:20px;font-weight:700;pointer-events:none;z-index:10}input,select,textarea{color:#333!important;background-color:#fff;padding:0 10px;border:1px solid #ddd;border-radius:4px;font-size:16px;width:100%;-webkit-appearance:none;height:var(--input-height);min-height:var(--input-height);line-height:normal;box-sizing:border-box}::placeholder{color:#999;opacity:1}input[type=date],input[type=time]{display:block;width:100%;background:#fff;color:#333!important}::-webkit-calendar-picker-indicator{filter:invert(0)}textarea{height:auto;min-height:80px;padding:10px;line-height:1.5;color:#333!important}.spam-warning{font-size:.85rem;color:#d32f2f;background-color:#ffebee;padding:10px;border-radius:4px;margin-top:5px;border:1px solid #ffcdd2}.type-select label{display:flex;align-items:center;justify-content:center;flex:1;height:40px;border:1px solid #eee;border-radius:20px;cursor:pointer;background:#f9f9f9;color:#555}.type-select label.active{background-color:#e6f7ff;border-color:var(--primary-color);color:var(--primary-color);font-weight:700}input[type=radio]{height:auto;min-height:auto;margin-right:5px;flex:0;width:auto;-webkit-appearance:radio}.publish-btn{background-color:#28a745;color:#fff!important;padding:12px;font-size:1.1rem;font-weight:700;margin-top:10px;border:none;border-radius:4px;width:100%;height:50px;cursor:pointer}.publish-btn:active{background-color:#218838}.list-section{padding:0 15px}.ride-list{list-style:none;padding:0}.ride-card{background:#fff;border-radius:var(--border-radius);padding:15px;margin-bottom:15px;box-shadow:0 2px 4px #0000000d;border-left:5px solid #ccc;color:#333}.ride-card.driver{border-left-color:#28a745}.ride-card.passenger{border-left-color:#007bff}.card-top{display:flex;justify-content:space-between;margin-bottom:10px}.tag{font-size:.8rem;padding:2px 6px;border-radius:4px;color:#fff;margin-right:8px}.tag.driver{background:#28a745}.tag.passenger{background:#007bff}.card-details p{margin:5px 0;color:#555}.comment-section{margin-top:15px;border-top:1px dashed #eee;padding-top:10px}.comment-toggle-btn{background:none;border:none;color:#007bff;width:100%;text-align:right;padding:10px}.comment-box{background:#f9f9f9;padding:10px;border-radius:5px;margin-top:5px}.comment-list{max-height:300px;overflow-y:auto}.comment-item{border-bottom:1px solid #eee;padding:8px 0;color:#333}.comment-form textarea{width:100%;margin-top:5px}.comment-form button{margin-top:5px;background:#007bff;color:#fff;border:none;padding:8px 15px;border-radius:4px;float:right}
