@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components,utilities;:root{--primary:#6366f1;--primary-light:#818cf8;--primary-dark:#4f46e5;--accent:#f472b6;--surface:#1e1e2e;--surface-light:#2a2a3e;--surface-dark:#11111b;--text:#cdd6f4;--text-muted:#9399b2;--success:#a6e3a1;--error:#f38ba8}*{box-sizing:border-box}body{background:linear-gradient(135deg,var(--surface-dark)0%,var(--surface)50%,#1a1a2e 100%);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-family:Noto Sans JP,sans-serif}#root{width:100%;min-height:100vh}.glass{-webkit-backdrop-filter:blur(16px);background:#1e1e2eb3;border:1px solid #ffffff1a}.glow{box-shadow:0 0 20px #6366f14d,0 0 40px #6366f11a}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-fadeIn{animation:.3s ease-out forwards fadeIn}.animate-slideUp{animation:.4s ease-out forwards slideUp}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--surface-dark)}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--primary-light)}.calendar-selector{margin-bottom:1rem}.calendar-selector.loading{padding:1rem;text-align:center}.loading-text{color:var(--text-muted);font-size:.875rem}.calendar-toggle{width:100%;display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.calendar-toggle:hover{border-color:var(--primary);background:#6366f11a}.calendar-icon{font-size:1.25rem}.calendar-selected{flex:1;text-align:left;font-size:.875rem}.main-label{color:var(--text-primary)}.sub-label{color:var(--text-muted);font-size:.8125rem}.arrow{font-size:.75rem;transition:transform .2s ease}.arrow.up{transform:rotate(180deg)}.calendar-list{margin-top:.5rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;overflow:hidden;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.calendar-section{padding:.5rem 0;border-bottom:1px solid var(--glass-border)}.calendar-section:last-child{border-bottom:none}.section-label{padding:.5rem 1rem;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.calendar-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background .2s ease}.calendar-item:hover{background:#6366f11a}.calendar-item input[type=checkbox],.calendar-item input[type=radio]{width:1.25rem;height:1.25rem;accent-color:var(--primary);cursor:pointer}.calendar-name{flex:1;display:flex;align-items:center;gap:.5rem}.owned-badge{font-size:.625rem;padding:.125rem .375rem;background:var(--primary);color:#fff;border-radius:4px}.no-sub-calendars{padding:.75rem 1rem;color:var(--text-muted);font-size:.875rem;font-style:italic}.station-selector{margin-top:8px;padding:12px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px}.station-row{display:flex;align-items:flex-end;gap:8px;margin-bottom:12px}.station-field{flex:1}.station-field label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:4px}.station-field input{width:100%;padding:10px 12px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;color:var(--text-primary);font-size:.95rem}.station-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.arrow{color:var(--text-muted);font-size:1.2rem;padding-bottom:10px}.search-button{width:100%;padding:10px 16px;background:linear-gradient(135deg,var(--primary),var(--secondary));border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.search-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.search-button:disabled{opacity:.6;cursor:not-allowed}.current-fare{margin-top:12px;padding:10px;background:linear-gradient(135deg,#22c55e1a,#10b9811a);border:1px solid rgba(34,197,94,.3);border-radius:8px;color:var(--success);text-align:center}.current-fare strong{font-size:1.2rem}.add-new-fare{margin-top:12px;padding:12px;background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:10px}.add-new-title{font-size:.9rem;color:var(--warning);margin-bottom:8px}.add-new-row{font-weight:500;margin-bottom:10px}.add-new-inputs{display:flex;gap:8px;margin-bottom:10px}.add-new-inputs input,.add-new-inputs select{flex:1;padding:8px 10px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;color:var(--text-primary);font-size:.9rem}.add-new-actions{display:flex;gap:8px}.add-button{flex:1;padding:8px 16px;background:linear-gradient(135deg,var(--success),#10b981);border:none;border-radius:6px;color:#fff;font-weight:500;cursor:pointer}.cancel-button{padding:8px 16px;background:transparent;border:1px solid var(--text-muted);border-radius:6px;color:var(--text-muted);cursor:pointer}.round-trip-toggle{margin-bottom:12px}.toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer}.toggle-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.toggle-text{font-size:.9rem;color:var(--text-primary)}.fare-breakdown{margin-top:12px;padding:12px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px}.fare-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:.9rem;color:var(--text-muted)}.return-fare-input{width:100px;padding:6px 8px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;color:var(--text-primary);text-align:right;font-size:.9rem}.fare-total{display:flex;justify-content:space-between;align-items:center;padding-top:10px;margin-top:8px;border-top:1px solid var(--glass-border);font-size:1rem}.fare-total strong{color:var(--success);font-size:1.1rem}.image-uploader{margin-top:8px}.upload-label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:6px}.file-input{display:none}.upload-button{width:100%;padding:12px 16px;background:linear-gradient(135deg,#6366f133,#8b5cf633);border:1px dashed var(--primary);border-radius:10px;color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:all var(--transition-fast)}.upload-button:hover{background:linear-gradient(135deg,#6366f14d,#8b5cf64d);transform:translateY(-1px)}.upload-button:disabled{opacity:.6;cursor:wait}.preview-container{position:relative;margin-top:10px;border-radius:10px;overflow:hidden}.preview-image{width:100%;max-height:200px;object-fit:contain;background:var(--glass-bg);border-radius:10px}.clear-button{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:#0009;border:none;color:#fff;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.error-message{color:var(--danger);font-size:.85rem;margin-top:8px}.amounts-container{margin-top:12px;padding:12px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px}.amounts-label{font-size:.85rem;color:var(--text-muted);margin-bottom:8px}.amounts-list{display:flex;flex-wrap:wrap;gap:8px}.amount-button{padding:8px 16px;background:linear-gradient(135deg,var(--primary),var(--secondary));border:none;border-radius:20px;color:#fff;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.amount-button:hover{transform:scale(1.05);box-shadow:0 4px 12px #6366f166}.expense-form{display:flex;flex-direction:column;gap:20px;padding:20px;border-radius:20px;background:#1e1e2e99;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08)}.form-group{display:flex;flex-direction:column;gap:8px;position:relative}.form-group label{display:flex;align-items:center;gap:6px;font-size:.875rem;font-weight:500;color:var(--text)}.label-icon{font-size:1rem}.required{color:var(--accent);font-weight:700}.form-group input{width:100%;padding:14px 16px;font-size:1rem;font-family:inherit;color:var(--text);background:var(--surface-dark);border:2px solid transparent;border-radius:12px;outline:none;transition:all .2s ease}.form-group input::placeholder{color:var(--text-muted);opacity:.6}.form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #6366f126}.form-group input:hover:not(:focus){border-color:#ffffff26}input[type=datetime-local]{color-scheme:dark}input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer;padding:4px;border-radius:4px;transition:background .2s}input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{background:#ffffff1a}.suggestions{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--surface);border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;z-index:100;box-shadow:0 8px 24px #0006;animation:fadeIn .2s ease-out}.suggestion-item{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font-size:.9rem;font-family:inherit;color:var(--text);background:transparent;border:none;cursor:pointer;transition:background .15s;text-align:left}.suggestion-item:hover{background:#6366f126}.suggestion-item:not(:last-child){border-bottom:1px solid rgba(255,255,255,.05)}.suggestion-name{font-weight:500}.suggestion-date{font-size:.75rem;color:var(--text-muted)}.map-link{display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding:8px 12px;font-size:.8rem;font-weight:500;color:var(--primary-light);background:#6366f11a;border-radius:8px;text-decoration:none;transition:all .2s;width:fit-content}.map-link:hover{background:#6366f133;color:var(--primary)}.map-link svg{width:16px;height:16px}.expense-section{padding:16px;background:#0003;border-radius:16px;border:1px solid rgba(255,255,255,.05)}.section-title{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:.95rem;font-weight:600;color:var(--text)}.expense-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.expense-input label{font-size:.8rem;color:var(--text-muted)}.input-with-unit{display:flex;align-items:center;background:var(--surface-dark);border:2px solid transparent;border-radius:12px;overflow:hidden;transition:all .2s}.input-with-unit:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px #6366f126}.input-with-unit:hover:not(:focus-within){border-color:#ffffff26}.currency{padding:14px 8px 14px 14px;font-size:1rem;font-weight:600;color:var(--text-muted)}.input-with-unit input{flex:1;padding:14px 14px 14px 0;border:none;background:transparent;box-shadow:none!important}.input-with-unit input:focus{border:none;box-shadow:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.expense-total{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);font-size:.9rem;color:var(--text-muted)}.total-amount{font-size:1.25rem;font-weight:700;color:var(--success)}.submit-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;font-size:1rem;font-weight:600;font-family:inherit;color:#fff;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border:none;border-radius:14px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #6366f14d}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 24px #6366f166}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.submit-button svg{width:20px;height:20px}.submit-button.submitting{background:var(--surface-light)}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.success-container{display:flex;flex-direction:column;align-items:center;padding:32px 20px;text-align:center;animation:slideUp .5s ease-out}.success-icon{width:80px;height:80px;padding:20px;margin-bottom:24px;background:linear-gradient(135deg,var(--success) 0%,#22c55e 100%);border-radius:50%;animation:successPop .6s ease-out}.success-icon svg{width:100%;height:100%;color:#fff;stroke-width:2.5}@keyframes successPop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.success-title{margin:0 0 8px;font-size:1.5rem;font-weight:700;color:var(--success)}.success-subtitle{margin:0 0 24px;font-size:.9rem;color:var(--text-muted)}.success-summary{width:100%;padding:20px;background:#1e1e2e99;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.08);border-radius:16px;margin-bottom:20px}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0}.summary-item:not(:last-child):not(.summary-divider+.summary-item){border-bottom:1px solid rgba(255,255,255,.05)}.summary-label{font-size:.85rem;color:var(--text-muted)}.summary-value{font-size:.95rem;font-weight:500;color:var(--text);text-align:right;max-width:60%;word-break:break-word}.summary-divider{height:1px;margin:12px 0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent)}.expense-item .summary-value{font-family:SF Mono,Consolas,monospace}.total-item{padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.total-item .summary-label{font-weight:600;color:var(--text)}.total-item .summary-value.total{font-size:1.2rem;font-weight:700;color:var(--success)}.map-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;font-size:.95rem;font-weight:500;color:var(--primary-light);background:#6366f11a;border:1px solid rgba(99,102,241,.3);border-radius:12px;text-decoration:none;transition:all .2s;margin-bottom:12px}.map-button:hover{background:#6366f133}.map-button svg{width:20px;height:20px}.continue-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;font-size:1rem;font-weight:600;font-family:inherit;color:#fff;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border:none;border-radius:14px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #6366f14d}.continue-button:hover{transform:translateY(-2px);box-shadow:0 6px 24px #6366f166}.continue-button:active{transform:translateY(0)}.continue-button svg{width:20px;height:20px}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{width:100%;max-width:480px;max-height:90vh;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:20px;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--glass-border)}.modal-header h2{font-size:1.25rem;margin:0;color:var(--text-primary)}.close-btn{background:none;border:none;font-size:1.25rem;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:8px;transition:all .2s ease}.close-btn:hover{background:var(--glass-bg);color:var(--text-primary)}.modal-form{padding:1.5rem}.modal-form .form-group{margin-bottom:1rem}.modal-form label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:.875rem}.modal-form input[type=text],.modal-form input[type=number],.modal-form input[type=datetime-local]{width:100%;padding:.75rem 1rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;color:var(--text-primary);font-size:1rem;transition:border-color .2s ease}.modal-form input:focus{outline:none;border-color:var(--primary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.calendar-checkboxes{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;background:var(--glass-bg);border-radius:10px}.calendar-checkbox{display:flex;align-items:center;gap:.75rem;padding:.5rem;cursor:pointer;border-radius:8px;transition:background .2s ease}.calendar-checkbox:hover{background:#6366f11a}.calendar-checkbox input{width:1.25rem;height:1.25rem;accent-color:var(--primary)}.modal-actions{display:flex;gap:1rem;margin-top:1.5rem}.cancel-btn,.submit-btn{flex:1;padding:.875rem 1.5rem;border:none;border-radius:12px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-btn{background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--glass-border)}.cancel-btn:hover{background:#ffffff1a}.submit-btn{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #6366f166}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.history-list{padding:1.5rem}.history-list.loading,.history-list.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:var(--text-muted)}.loading-spinner{width:40px;height:40px;border:3px solid var(--glass-border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.history-title{display:flex;align-items:center;justify-content:space-between;font-size:1.25rem;margin-bottom:1rem;color:var(--text-primary)}.refresh-btn{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.25rem;border-radius:8px;transition:all .2s ease}.refresh-btn:hover{background:var(--glass-bg);transform:rotate(180deg)}.history-items{display:flex;flex-direction:column;gap:1rem}.history-item{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;padding:1rem;transition:all .2s ease}.history-item:hover{border-color:var(--primary)}.history-item.deleting{opacity:.5;pointer-events:none}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.history-project{font-weight:600;color:var(--text-primary)}.history-date{font-size:.75rem;color:var(--text-muted)}.history-location{margin-bottom:.75rem}.history-location a{color:var(--text-secondary);text-decoration:none;font-size:.875rem;transition:color .2s ease}.history-location a:hover{color:var(--primary)}.history-expenses{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem;font-size:.875rem;color:var(--text-secondary)}.history-expenses .total{color:var(--primary);font-weight:600}.history-actions{display:flex;gap:.5rem}.edit-btn,.delete-btn{flex:1;padding:.5rem 1rem;border:none;border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s ease}.edit-btn{background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--glass-border)}.edit-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.delete-btn{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.delete-btn:hover{background:#ef4444;color:#fff}.delete-btn:disabled{opacity:.5;cursor:not-allowed}.summary-tab{padding:16px}.summary-header h2{margin:0 0 20px;font-size:1.3rem;color:var(--text-primary)}.project-selector{margin-bottom:24px}.project-selector label{display:block;font-size:.9rem;color:var(--text-muted);margin-bottom:8px}.project-selector select{width:100%;padding:12px 16px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:10px;color:var(--text-primary);font-size:1rem;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.project-selector select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.summary-cards{display:flex;flex-direction:column;gap:16px}.summary-card{padding:20px;border-radius:16px;background:var(--glass-bg);border:1px solid var(--glass-border)}.summary-card .card-label{font-size:1rem;color:var(--text-muted);margin-bottom:8px}.summary-card .card-value{font-size:1.8rem;font-weight:700;color:var(--text-primary)}.summary-card.transport{background:linear-gradient(135deg,#3b82f61a,#60a5fa1a);border-color:#3b82f64d}.summary-card.transport .card-value{color:#60a5fa}.summary-card.accommodation{background:linear-gradient(135deg,#a855f71a,#c084fc1a);border-color:#a855f74d}.summary-card.accommodation .card-value{color:#c084fc}.summary-card.total{background:linear-gradient(135deg,#22c55e26,#4ade8026);border-color:#22c55e66}.summary-card.total .card-value{color:var(--success);font-size:2.2rem}.summary-info{text-align:center;padding-top:8px}.count-badge{display:inline-block;padding:8px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:20px;color:var(--text-muted);font-size:.9rem}.loading,.no-data{text-align:center;padding:40px;color:var(--text-muted)}.app-container{min-height:100vh;display:flex;flex-direction:column;padding:0 16px;padding-bottom:env(safe-area-inset-bottom,16px)}.app-header{text-align:center;padding:24px 0 16px;animation:fadeIn .5s ease-out}.header-content{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:8px}.header-icon{width:36px;height:36px;padding:8px;background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);border-radius:10px;display:flex;align-items:center;justify-content:center}.header-icon svg{width:100%;height:100%;color:#fff}.app-header h1{font-size:1.5rem;font-weight:700;margin:0;background:linear-gradient(90deg,var(--text) 0%,var(--primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-subtitle{font-size:.875rem;color:var(--text-muted);margin:0}.app-main{flex:1;display:flex;flex-direction:column;animation:slideUp .5s ease-out}.app-footer{text-align:center;padding:16px 0;color:var(--text-muted);font-size:.75rem}.app-footer p{margin:0}.tab-nav{display:flex;gap:8px;margin-bottom:16px;padding:4px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:14px}.tab-btn{flex:1;padding:12px 16px;background:transparent;border:none;border-radius:10px;color:var(--text-muted);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease}.tab-btn:hover{color:var(--text-primary);background:#ffffff0d}.tab-btn.active{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:0 4px 12px #6366f14d}
