:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--breakpoint-tablet: 768px;--breakpoint-desktop: 1024px;--min-touch-target: 44px;--button-padding-mobile: 12px 16px;--button-padding-desktop: .75rem 1.5rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:var(--button-padding-mobile);min-height:var(--min-touch-target);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}input,select,textarea{font-size:16px}@media(min-width:768px){button{padding:var(--button-padding-desktop)}}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:400px}.login-card h2{margin-top:0;margin-bottom:1.5rem;text-align:center;color:#333}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message{background-color:#fee;color:#c33;padding:.75rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem}button[type=submit]{width:100%;padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s}button[type=submit]:hover:not(:disabled){opacity:.9}button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.divider{display:flex;align-items:center;margin:1.5rem 0}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid #ddd}.divider span{padding:0 1rem;color:#888;font-size:.9rem}.google-login-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.75rem;background:#fff;color:#333;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;text-decoration:none;text-align:center;box-sizing:border-box;transition:background-color .2s,box-shadow .2s}.google-login-btn:hover{background-color:#f8f8f8;box-shadow:0 1px 3px #0000001a}.google-login-btn svg{flex-shrink:0}.hamburger-button{display:flex;flex-direction:column;justify-content:space-around;width:44px;height:44px;background:transparent;border:none;cursor:pointer;padding:10px;z-index:1001;position:absolute;top:1rem;left:1rem}.hamburger-line{width:24px;height:3px;background:#fff;border-radius:2px;transition:all .3s ease}@media(min-width:768px){.hamburger-button{display:none}}.nav-backdrop{position:fixed;inset:0;background:#00000080;z-index:999;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.navigation{display:flex;gap:.5rem;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.2)}@media(max-width:767px){.navigation{position:fixed;top:0;left:-100%;width:250px;height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);flex-direction:column;padding:1rem;gap:0;border-bottom:none;transition:left .3s ease;z-index:1000;overflow-y:auto;box-shadow:2px 0 8px #0003}.navigation.open{left:0}.nav-link{padding:16px;min-height:56px;border-bottom:1px solid rgba(255,255,255,.1);border-radius:0;white-space:normal}.nav-link:last-child{border-bottom:none}}@media(min-width:768px){.navigation{position:static;width:auto;height:auto;flex-direction:row;overflow-x:auto;-webkit-overflow-scrolling:touch}.nav-link{padding:.75rem 1.5rem;min-height:44px;white-space:nowrap}}.nav-link{color:#fffc;text-decoration:none;transition:all .2s;font-weight:500;display:flex;align-items:center}.nav-link:hover{background:#ffffff1a;color:#fff}.nav-link.active{background:#fff3;color:#fff}@media(min-width:768px){.nav-link{border-radius:4px}}.tree-controls{display:flex;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0;flex-wrap:wrap}.tree-control-button{padding:12px 16px;min-height:44px;background:#f5f5f5;color:#555;border:1px solid #ddd;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;flex:1}@media(min-width:768px){.tree-control-button{padding:.5rem 1rem;flex:0 1 auto}}.tree-control-button:hover{background:#e0e0e0;border-color:#ccc}.categories-tree{margin-top:0}.tree-node{margin:0}.tree-node-content{display:flex;align-items:center;padding:.5rem .25rem;border-bottom:1px solid #f0f0f0;transition:background .2s;min-height:44px}@media(min-width:768px){.tree-node-content{padding:.75rem .5rem}.tree-node-content:hover{background:#f9f9f9}}.tree-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;margin-right:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;color:#667eea;font-size:1rem;border-radius:4px;transition:background .2s}@media(min-width:768px){.tree-toggle{width:24px;height:24px;min-width:24px;font-size:.75rem}}.tree-toggle:active{background:#f0f0f0}@media(min-width:768px){.tree-toggle:hover{background:#f0f0f0}}.category-name{flex:1;font-size:.9rem;color:#333;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis}@media(min-width:768px){.category-name{font-size:1rem}}.category-link{cursor:pointer;color:#667eea;transition:color .2s}.category-link:active{color:#5568d3;text-decoration:underline}@media(min-width:768px){.category-link:hover{color:#5568d3;text-decoration:underline}}.category-actions{display:flex;gap:.5rem;opacity:1;transition:opacity .2s}@media(min-width:768px){.category-actions{opacity:0}.tree-node-content:hover .category-actions{opacity:1}}.add-child-button,.edit-button-small,.delete-button-small{padding:8px 12px;min-height:36px;border:none;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s;font-size:.75rem;white-space:nowrap}@media(min-width:768px){.add-child-button,.edit-button-small,.delete-button-small{padding:.375rem .75rem;min-height:auto;font-size:.875rem}}.add-child-button{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}.add-child-button:hover{background:#c8e6c9}.edit-button-small{background:#e3f2fd;color:#1976d2;border:1px solid #bbdefb}.edit-button-small:hover{background:#bbdefb}.delete-button-small{background:#fee;color:#c33;border:1px solid #fcc}.delete-button-small:hover{background:#fcc}.tree-children{border-left:2px solid #e8eaf6;margin-left:8px}@media(min-width:768px){.tree-children{margin-left:12px}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.create-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:opacity .2s}.header-buttons{display:flex;gap:10px;flex:1 1 100%}@media(min-width:768px){.header-buttons{flex:0 1 auto}}.header-buttons .create-button{flex:1}@media(min-width:768px){.header-buttons .create-button{flex:0 1 auto}}.transfer-button{background:linear-gradient(135deg,#2196f3,#1976d2)}.page-content{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.filters-section{display:flex;gap:16px;flex-wrap:wrap;padding:16px;background-color:#f5f5f5;border-radius:8px;margin-bottom:20px}@media(min-width:768px){.filters-section{padding:20px}}.filter-group{display:flex;flex-direction:column;gap:4px;flex:1 1 100%;min-width:0}@media(min-width:768px){.filter-group{flex:1 1 180px;min-width:180px}}.filter-group label{font-size:14px;font-weight:500;color:#333}.filter-group select,.filter-group input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background-color:#fff}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#4caf50}.transactions-table-container{overflow-x:auto;margin-bottom:20px}.transactions-table{width:100%;border-collapse:collapse;background-color:#fff;box-shadow:0 2px 4px #0000001a;border-radius:8px;overflow:hidden}.transactions-table thead{background-color:#f5f5f5}.transactions-table th{padding:12px 16px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.transactions-table th.amount-column{text-align:right}.transactions-table tbody tr{border-bottom:1px solid #eee;transition:background-color .2s}.transactions-table tbody tr:hover{background-color:#f9f9f9}.transactions-table tbody tr:last-child{border-bottom:none}.transactions-table td{padding:12px 16px;color:#555}.transactions-table td.amount-column{text-align:right;font-weight:600;font-family:Courier New,monospace}.transactions-table td.amount-column.positive{color:#4caf50}.transactions-table td.amount-column.negative{color:#f44336}.pagination-controls{display:flex;justify-content:center;gap:12px;margin-top:20px}.pagination-button{padding:8px 16px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.pagination-button:hover:not(:disabled){background-color:#45a049}.pagination-button:disabled{background-color:#ccc;cursor:not-allowed}.error-message{padding:12px;background-color:#ffebee;color:#c62828;border-radius:4px;margin-bottom:16px}.action-buttons{display:flex;gap:8px}.edit-button{padding:6px 12px;background-color:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.edit-button:hover{background-color:#1976d2}.delete-button{padding:6px 12px;background-color:#f44336;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.delete-button:hover{background-color:#d32f2f}.scheduled-transactions-section{margin-top:2rem;padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.scheduled-transactions-section h3{margin:0 0 .5rem;color:#333}.scheduled-transactions-section .section-description{margin:0 0 1rem;color:#666;font-size:14px}.scheduled-table{margin-top:0}.materialize-button{padding:6px 12px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.materialize-button:hover{background-color:#45a049}.transaction-comment{font-size:12px;color:#999;margin-top:4px;font-style:italic}.transactions-cards{display:flex;flex-direction:column;gap:1rem}.transaction-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;box-shadow:0 2px 4px #0000000d;transition:box-shadow .2s}.transaction-card:active{box-shadow:0 4px 8px #0000001a}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #f0f0f0;gap:.5rem}.card-date{font-size:14px;color:#666;flex:1}.card-amount{font-size:18px;font-weight:700;font-family:Courier New,monospace;white-space:nowrap}.card-amount.positive{color:#4caf50}.card-amount.negative{color:#f44336}.card-body{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.card-row{display:flex;gap:.5rem}.card-label{font-size:13px;color:#999;min-width:70px;font-weight:500}.card-value{font-size:14px;color:#333;flex:1}.card-comment{font-size:13px;color:#666;font-style:italic;padding:.5rem;background:#f9f9f9;border-radius:4px;margin-top:.25rem}.card-actions{display:flex;gap:.5rem}.card-button{flex:1;padding:12px 16px;min-height:44px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.card-button.edit-button{background-color:#2196f3;color:#fff}.card-button.edit-button:active{background-color:#1976d2}.card-button.delete-button{background-color:#f44336;color:#fff}.card-button.delete-button:active{background-color:#d32f2f}.card-button.materialize-button{background-color:#4caf50;color:#fff}.card-button.materialize-button:active{background-color:#45a049}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.page-header h2{margin:0;color:#333}.transaction-form{max-width:100%}@media(min-width:768px){.transaction-form{max-width:600px}}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-family:inherit;transition:border-color .2s}.form-group textarea{resize:vertical;min-height:80px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-hint{display:block;margin-top:.25rem;font-size:.875rem;color:#666}.form-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:2rem}.submit-button,.cancel-button{padding:12px 16px;min-height:44px;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}@media(min-width:768px){.submit-button,.cancel-button{padding:.75rem 1.5rem}}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.submit-button:active:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #667eea66}@media(min-width:768px){.submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #667eea66}}.submit-button:disabled{background:#ccc;cursor:not-allowed}.cancel-button{background:#fff;color:#666;border:1px solid #ddd}.cancel-button:active:not(:disabled){background:#f5f5f5}@media(min-width:768px){.cancel-button:hover:not(:disabled){background:#f5f5f5}}.cancel-button:disabled{opacity:.5;cursor:not-allowed}.materialize-info-banner{padding:1rem;background-color:#e3f2fd;color:#1565c0;border-radius:4px;margin-bottom:1.5rem;border-left:4px solid #1976d2}.scheduled-info-banner{padding:1rem;background-color:#f3e5f5;color:#6a1b9a;border-radius:4px;margin-bottom:1.5rem;border-left:4px solid #8e24aa}.scheduled-link{color:#6a1b9a;font-weight:600;text-decoration:underline}.scheduled-link:hover{color:#4a148c}.scheduled-name-deleted{font-weight:600;font-style:italic;color:#9e9e9e}.page-container{padding:0}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.page-header h2{margin:0;color:#333;flex:1 1 100%}@media(min-width:768px){.page-header h2{flex:0 1 auto}}.create-button{padding:12px 16px;min-height:44px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:opacity .2s;flex:1 1 100%}@media(min-width:768px){.create-button{padding:.75rem 1.5rem;flex:0 1 auto}}.create-button:hover{opacity:.9}.page-content{background:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}@media(min-width:768px){.page-content{padding:1.5rem}}.error-message{background-color:#fee;color:#c33;padding:1rem;border-radius:4px;border:1px solid #fcc}.accounts-list{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:480px){.accounts-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media(min-width:768px){.accounts-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.account-card{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;transition:box-shadow .2s}@media(min-width:768px){.account-card{padding:1.5rem}}.account-card:active{box-shadow:0 4px 8px #0000001a}@media(min-width:768px){.account-card:hover{box-shadow:0 4px 8px #0000001a}}.account-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.account-header h3{margin:0;font-size:1.25rem;color:#333}.account-name-link{cursor:pointer;color:#667eea;transition:color .2s}.account-name-link:hover{color:#5568d3;text-decoration:underline}.account-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.currency-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.account-details{margin-top:.5rem}.currency-name{margin:0;color:#666;font-size:.875rem}.account-balance{font-size:1.25rem;font-weight:600;color:#333}.form-section{background:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1rem}@media(min-width:768px){.form-section{padding:1.5rem;margin-bottom:1.5rem}}.form-section h3{margin:0 0 1.5rem;color:#333}.form-section .form-group{margin-bottom:1rem}.form-section .form-group label{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.form-section .form-group input,.form-section .form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;box-sizing:border-box}.form-section .form-group input:focus,.form-section .form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-section .form-group input:disabled,.form-section .form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}@media(min-width:768px){.form-actions{flex-direction:row;gap:1rem}}.submit-button{padding:12px 16px;min-height:44px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:opacity .2s}@media(min-width:768px){.submit-button{padding:.75rem 1.5rem}}.submit-button:hover:not(:disabled){opacity:.9}.submit-button:disabled{opacity:.6;cursor:not-allowed}.cancel-button{padding:12px 16px;min-height:44px;background:#f5f5f5;color:#666;border:1px solid #ddd;border-radius:4px;font-weight:600;cursor:pointer;transition:background .2s}@media(min-width:768px){.cancel-button{padding:.75rem 1.5rem}}.cancel-button:hover:not(:disabled){background:#e0e0e0}.account-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0;display:flex;gap:.5rem}.edit-button,.delete-button{padding:10px 14px;min-height:40px;border:none;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s;font-size:.875rem;flex:1}@media(min-width:768px){.edit-button,.delete-button{padding:.5rem 1rem;flex:0 1 auto}}.edit-button{background:#667eea;color:#fff}.edit-button:active{background:#5568d3}@media(min-width:768px){.edit-button:hover{background:#5568d3}}.delete-button{background:#fee;color:#c33;border:1px solid #fcc}.delete-button:active{background:#fcc}@media(min-width:768px){.delete-button:hover{background:#fcc}}.schedules-container{padding:1rem;max-width:1200px;margin:0 auto}@media(min-width:768px){.schedules-container{padding:2rem}}.schedules-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}@media(min-width:768px){.schedules-header{margin-bottom:2rem}}.schedules-header h1{margin:0;color:#333;font-size:1.5rem;flex:1 1 100%}@media(min-width:768px){.schedules-header h1{font-size:2rem;flex:0 1 auto}}.schedule-form{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.schedule-form h2{margin-top:0;margin-bottom:1.5rem;color:#333}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.form-group select,.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;background-color:#fff}.form-group select:focus,.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.category-tree-select{font-family:Courier New,monospace}.category-tree-select option{font-family:Courier New,monospace;padding:4px 8px}.form-actions{display:flex;gap:1rem;margin-top:2rem}.btn-save{padding:.75rem 1.5rem;background-color:#4caf50;color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;font-size:1rem;transition:background-color .2s}.btn-save:hover{background-color:#45a049}.btn-cancel{padding:.75rem 1.5rem;background-color:#757575;color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;font-size:1rem;transition:background-color .2s}.btn-cancel:hover{background-color:#616161}.schedules-list{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.schedules-table{width:100%;border-collapse:collapse}.schedules-table thead{background-color:#f5f5f5}.schedules-table th{padding:1rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.schedules-table tbody tr{border-bottom:1px solid #eee;transition:background-color .2s}.schedules-table tbody tr:hover{background-color:#f9f9f9}.schedules-table tbody tr:last-child{border-bottom:none}.schedules-table td{padding:1rem;color:#555}.schedules-table th.amount-column{text-align:right}.schedules-table td.amount-column{text-align:right;font-weight:600;font-family:Courier New,monospace}.schedules-table td.amount-column.positive{color:#4caf50}.schedules-table td.amount-column.negative{color:#f44336}.schedules-table td.actions{text-align:right}.actions{display:flex;gap:.5rem;justify-content:flex-end}.btn-edit{padding:.5rem 1rem;background-color:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .2s}.btn-delete{padding:.5rem 1rem;background-color:#f44336;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .2s}.schedules-list p{text-align:center;color:#757575;margin:2rem 0}.schedules-cards{display:flex;flex-direction:column;gap:1rem}.schedule-card{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;box-shadow:0 2px 4px #0000000d;transition:box-shadow .2s}.schedule-card:active{box-shadow:0 4px 8px #0000001a}.schedule-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e0e0e0;gap:.5rem}.schedule-card .card-name{font-size:16px;font-weight:600;color:#333;flex:1}.schedule-card .card-amount{font-size:18px;font-weight:700;font-family:Courier New,monospace;white-space:nowrap}.schedule-card .card-amount.positive{color:#4caf50}.schedule-card .card-amount.negative{color:#f44336}.schedule-card .card-body{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.schedule-card .card-row{display:flex;gap:.5rem}.schedule-card .card-label{font-size:13px;color:#999;min-width:70px;font-weight:500}.schedule-card .card-value{font-size:14px;color:#555;flex:1}.schedule-card .card-actions{display:flex;gap:.5rem}.schedule-card .card-button{flex:1;padding:12px 16px;min-height:44px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.schedule-card .card-button.btn-edit{background-color:#2196f3;color:#fff}.schedule-card .card-button.btn-edit:active{background-color:#1976d2}.schedule-card .card-button.btn-delete{background-color:#f44336;color:#fff}.schedule-card .card-button.btn-delete:active{background-color:#d32f2f}.profile-section{background:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1rem}@media(min-width:768px){.profile-section{padding:1.5rem;margin-bottom:1.5rem}}.profile-section h3{margin:0 0 1rem;color:#333;font-size:1.1rem;border-bottom:1px solid #eee;padding-bottom:.5rem}.profile-info{margin-bottom:1rem}.info-row{display:flex;flex-direction:column;align-items:flex-start;padding:.75rem 0;border-bottom:1px solid #f5f5f5;gap:.5rem}@media(min-width:768px){.info-row{flex-direction:row;align-items:center;gap:0}}.info-row:last-child{border-bottom:none}.info-label{font-weight:500;color:#555;font-size:.875rem}@media(min-width:768px){.info-label{width:140px;flex-shrink:0;font-size:1rem}}.info-value{color:#333}.edit-input{padding:12px;min-height:44px;border:1px solid #ddd;border-radius:4px;font-size:16px;width:100%;box-sizing:border-box}@media(min-width:768px){.edit-input{padding:.5rem .75rem;font-size:1rem;width:250px}}.edit-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.profile-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}@media(min-width:768px){.profile-actions{flex-direction:row;gap:.75rem}}.edit-button{padding:12px 16px;min-height:44px;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}@media(min-width:768px){.edit-button{padding:.5rem 1.25rem}}.edit-button:active{background:#5a6fd6}@media(min-width:768px){.edit-button:hover{background:#5a6fd6}}.save-button{padding:12px 16px;min-height:44px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}@media(min-width:768px){.save-button{padding:.5rem 1.25rem}}.save-button:hover{opacity:.9}.save-button:disabled{opacity:.6;cursor:not-allowed}.cancel-button{padding:12px 16px;min-height:44px;background:#f5f5f5;color:#666;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.9rem}@media(min-width:768px){.cancel-button{padding:.5rem 1.25rem}}.cancel-button:active{background:#eee}@media(min-width:768px){.cancel-button:hover{background:#eee}}.cancel-button:disabled{opacity:.6;cursor:not-allowed}.change-password-button{padding:12px 16px;min-height:44px;background:#f5f5f5;color:#333;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.9rem}@media(min-width:768px){.change-password-button{padding:.75rem 1.5rem}}.change-password-button:active{background:#eee}@media(min-width:768px){.change-password-button:hover{background:#eee}}.password-form{max-width:100%}@media(min-width:768px){.password-form{max-width:400px}}.password-form .form-group{margin-bottom:1rem}.password-form .form-group label{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.password-form .form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;box-sizing:border-box}.password-form .form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.field-hint{display:block;margin-top:.25rem;font-size:.8rem;color:#888}.form-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem}@media(min-width:768px){.form-actions{flex-direction:row;gap:.75rem}}.error-message{background-color:#fee;color:#c33;padding:.75rem 1rem;border-radius:4px;border:1px solid #fcc;margin-bottom:1rem}.success-message{background-color:#e8f5e9;color:#2e7d32;padding:.75rem 1rem;border-radius:4px;border:1px solid #a5d6a7;margin-bottom:1rem}.forecast-container{display:flex;flex-direction:column;padding:1rem;gap:1rem}@media(min-width:768px){.forecast-container{padding:20px;gap:20px}}.forecast-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}@media(min-width:768px){.forecast-header{margin-bottom:20px}}.forecast-header h2{margin:0;color:#333;font-size:1.25rem;flex:1 1 100%}@media(min-width:768px){.forecast-header h2{font-size:1.5rem;flex:0 1 auto}}.forecast-controls{display:flex;gap:1rem;align-items:center;flex:1 1 100%}@media(min-width:768px){.forecast-controls{gap:20px;flex:0 1 auto}}.date-selector{display:flex;align-items:center;gap:10px;flex:1;flex-direction:column;align-items:stretch}@media(min-width:768px){.date-selector{flex-direction:row;align-items:center;flex:0 1 auto}}.date-selector label{font-weight:500;color:#555;font-size:14px}.date-selector input[type=date]{padding:12px;min-height:44px;border:1px solid #ddd;border-radius:4px;font-size:16px}@media(min-width:768px){.date-selector input[type=date]{padding:8px 12px;min-height:auto;font-size:14px}}.chart-container{background:#fff;border-radius:8px;padding:1rem;box-shadow:0 2px 4px #0000001a;height:300px}@media(min-width:768px){.chart-container{padding:1.5rem;height:400px}}@media(min-width:1024px){.chart-container{padding:20px;height:500px}}.forecast-footer{background:#fff;border-radius:8px;padding:1rem;box-shadow:0 2px 4px #0000001a}@media(min-width:768px){.forecast-footer{padding:20px}}.view-mode-switch{display:flex;gap:.5rem;margin-bottom:1rem;justify-content:center;flex-direction:column}@media(min-width:768px){.view-mode-switch{flex-direction:row;gap:10px;margin-bottom:20px}}.view-mode-switch button{padding:12px 16px;min-height:44px;border:2px solid #667eea;background:#fff;color:#667eea;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;flex:1}@media(min-width:768px){.view-mode-switch button{padding:10px 20px;min-height:auto;flex:0 1 auto}}.view-mode-switch button:active{background:#f0f0f0}@media(min-width:768px){.view-mode-switch button:hover{background:#f0f0f0}}.view-mode-switch button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.legend-container{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}@media(min-width:768px){.legend-container{gap:15px}}.legend-item{display:flex;align-items:center;gap:8px;padding:12px 16px;min-height:44px;border-radius:4px;cursor:pointer;transition:all .3s ease;border:1px solid transparent;flex:1 1 auto;min-width:0}@media(min-width:768px){.legend-item{padding:8px 12px;min-height:auto;flex:0 1 auto}}.legend-item:active{background:#f5f5f5;border-color:#ddd}@media(min-width:768px){.legend-item:hover{background:#f5f5f5;border-color:#ddd}}.legend-item.hidden{opacity:.4}.legend-item.hidden .legend-color{background:#ccc!important}.legend-color{width:20px;height:20px;min-width:20px;border-radius:3px}@media(min-width:768px){.legend-color{width:16px;height:16px;min-width:16px}}.legend-label{font-size:14px;font-weight:500;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.error-message{background:#fee;color:#c33;padding:12px;border-radius:4px;margin-bottom:20px;border:1px solid #fcc}.money-flow-container{padding:1rem;max-width:1200px;margin:0 auto}@media(min-width:768px){.money-flow-container{padding:2rem}}.money-flow-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}@media(min-width:768px){.money-flow-header{margin-bottom:2rem}}.money-flow-header h1{margin:0;color:#333;font-size:1.5rem;flex:1 1 100%}@media(min-width:768px){.money-flow-header h1{font-size:2rem;flex:0 1 auto}}.forecast-section{background:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-top:1.5rem}@media(min-width:768px){.forecast-section{padding:1.5rem;margin-top:2rem}}.forecast-section h2{margin-top:0;margin-bottom:1rem;color:#333;font-size:1.25rem}@media(min-width:768px){.forecast-section h2{font-size:1.5rem}}.forecast-table{width:100%;border-collapse:collapse;font-family:Courier New,monospace}.forecast-table thead{background-color:#f5f5f5}.forecast-table th{padding:.75rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.forecast-table tbody tr{border-bottom:1px solid #eee}.forecast-table tbody tr:hover{background-color:#f9f9f9}.forecast-table tbody tr:last-child{border-bottom:none}.forecast-table td{padding:.75rem;color:#555}.forecast-table tfoot{background-color:#f5f5f5;border-top:2px solid #ddd}.forecast-table tfoot td{padding:.75rem;font-weight:700}.forecast-cards{display:flex;flex-direction:column;gap:1rem}.forecast-card{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;box-shadow:0 2px 4px #0000000d}.forecast-card-total{background:#f0f0f0;border:2px solid #d0d0d0}.forecast-card-header{padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid #e0e0e0}.forecast-card-title{font-size:16px;font-weight:600;color:#333}.forecast-card-body{display:flex;flex-direction:column;gap:.75rem}.forecast-card-row{display:flex;flex-direction:column;gap:.25rem}.forecast-card-label{font-size:12px;color:#999;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.forecast-card-value{font-size:14px;font-family:Courier New,monospace;color:#555}.investments-table td.positive,.investment-card .card-value.positive{color:#2e7d32;font-weight:600}.investments-table td.negative,.investment-card .card-value.negative{color:#c62828;font-weight:600}.investments-container{padding:1rem;max-width:1200px;margin:0 auto}@media(min-width:768px){.investments-container{padding:2rem}}.investments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}@media(min-width:768px){.investments-header{margin-bottom:2rem}}.investments-header h1{margin:0;color:#333;font-size:1.5rem}@media(min-width:768px){.investments-header h1{font-size:2rem}}.desktop-view{display:none}.mobile-view{display:block}@media(min-width:768px){.desktop-view{display:block}.mobile-view{display:none}}.investments-list{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.investments-list p{text-align:center;color:#757575;margin:2rem 0}.investments-table{width:100%;border-collapse:collapse}.investments-table thead{background-color:#f5f5f5}.investments-table th{padding:1rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.investments-table tbody tr{border-bottom:1px solid #eee;transition:background-color .2s}.investments-table tbody tr:last-child{border-bottom:none}.investments-table td{padding:1rem;color:#555}.investments-table th.amount-column{text-align:right}.investments-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.investments-table th.sortable:hover{background-color:#ebebeb}.investments-table th.sorted{color:#3949ab}.investments-table td.amount-column{text-align:right;font-weight:600;font-family:Courier New,monospace}.clickable-row{cursor:pointer}.clickable-row:hover{background-color:#f0f4ff}.investment-type{display:inline-block;padding:.2rem .6rem;background-color:#e8eaf6;color:#3949ab;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:capitalize}.btn-add{padding:12px 16px;min-height:44px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:opacity .2s;font-size:1rem;flex:1 1 100%}@media(min-width:768px){.btn-add{padding:.75rem 1.5rem;flex:0 1 auto}}.btn-add:hover{opacity:.9}.investments-cards{display:flex;flex-direction:column;gap:1rem}.investment-card{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;box-shadow:0 2px 4px #0000000d;cursor:pointer;transition:box-shadow .2s,background-color .2s}.investment-card:hover{background-color:#f0f4ff;box-shadow:0 4px 8px #0000001a}.investment-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e0e0e0;gap:.5rem}.investment-card .card-name{font-size:16px;font-weight:600;color:#333;flex:1}.investment-card .card-body{display:flex;flex-direction:column;gap:.5rem}.investment-card .card-row{display:flex;gap:.5rem}.investment-card .card-label{font-size:13px;color:#999;min-width:80px;font-weight:500}.investment-card .card-value{font-size:14px;color:#555;flex:1}.comment-row td.investment-comment{padding:.4rem 1rem .75rem;color:#757575;font-size:.875rem;font-style:italic;cursor:pointer}.comment-row:hover td.investment-comment{background-color:#f0f4ff}.investment-card .investment-comment{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e0e0e0;font-size:.875rem;color:#757575;font-style:italic}.inv-view-container{padding:1rem;max-width:1200px;margin:0 auto}@media(min-width:768px){.inv-view-container{padding:2rem}}.inv-view-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.inv-view-title{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.inv-view-title h1{margin:0;font-size:1.5rem;color:#333}@media(min-width:768px){.inv-view-title h1{font-size:2rem}}.btn-back{padding:.4rem .8rem;background:none;border:1px solid #bbb;border-radius:4px;color:#555;cursor:pointer;font-size:.875rem;white-space:nowrap;transition:background-color .2s}.btn-back:hover{background-color:#f5f5f5}.inv-view-actions{display:flex;gap:.5rem;align-items:center}.btn-edit{padding:.6rem 1.2rem;background-color:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s}.btn-edit:hover{background-color:#1976d2}.btn-delete{padding:.6rem 1.2rem;background-color:#f44336;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s}.btn-delete:hover{background-color:#d32f2f}.investment-type{display:inline-block;padding:.25rem .7rem;background-color:#e8eaf6;color:#3949ab;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:capitalize;white-space:nowrap}.inv-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:1.25rem 1.5rem;margin-bottom:1.25rem}.inv-section h2{margin:0 0 1rem;font-size:.85rem;font-weight:700;color:#555;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #eee;padding-bottom:.5rem}.inv-fields{display:grid;grid-template-columns:1fr;gap:.6rem 2rem}@media(min-width:600px){.inv-fields{grid-template-columns:1fr 1fr}}@media(min-width:900px){.inv-fields{grid-template-columns:1fr 1fr 1fr}}.inv-field{display:flex;flex-direction:column;gap:.15rem}.inv-label{font-size:.75rem;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.04em}.inv-value{font-size:1rem;color:#222}.inv-value.mono{font-family:Courier New,monospace;font-weight:600}.inv-value.positive{color:#2e7d32}.inv-value.negative{color:#c62828}.inv-none{color:#bbb;font-style:italic}.inv-comment{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #eee;color:#555;font-style:italic;font-size:.95rem;white-space:pre-wrap}.calc-table-wrapper{overflow-x:auto}.calc-table{width:100%;border-collapse:collapse;font-size:.875rem}.calc-table thead{background-color:#f5f5f5}.calc-table th{padding:.5rem .4rem;font-weight:600;color:#333;border-bottom:2px solid #ddd;word-break:break-word}.calc-table th.num{text-align:right}.calc-table tbody tr{border-bottom:1px solid #eee;transition:background-color .15s}.calc-table tbody tr:hover{background-color:#f9f9f9}.calc-table tbody tr:last-child{border-bottom:none}.calc-table td{padding:.45rem .4rem;color:#444;font-family:Courier New,monospace}.calc-table th:first-child,.calc-table td.year-cell{width:2rem;white-space:nowrap}.calc-table td.year-cell{font-family:inherit;font-weight:700;color:#333}.calc-table td.num{text-align:right}.calc-table td.positive{color:#2e7d32;font-weight:600}.calc-table td.negative{color:#c62828;font-weight:600}.calc-table th .tooltip-wrap:after,.calc-table tbody tr:first-child .tooltip-wrap:after{bottom:auto;top:calc(100% + 6px)}.tooltip-wrap{position:relative;cursor:default;border-bottom:1px dashed #aaa}.tooltip-wrap:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#333;color:#fff;padding:.35rem .6rem;border-radius:4px;font-size:.75rem;white-space:pre-wrap;width:200px;text-align:left;font-family:Courier New,monospace;pointer-events:none;opacity:0;transition:opacity .15s;z-index:10}.tooltip-wrap:hover:after{opacity:1}.error-message{padding:1rem;background-color:#ffebee;color:#c62828;border-radius:4px;margin-bottom:1rem}.field-comment{margin:.4rem 0 0;font-size:.78rem;color:#888;line-height:1.6}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#4caf50;cursor:pointer}input[type=range]::-moz-range-thumb{width:18px;height:18px;border:none;border-radius:50%;background:#4caf50;cursor:pointer}.investment-form-container{padding:1rem;max-width:800px;margin:0 auto}@media(min-width:768px){.investment-form-container{padding:2rem}}.investment-form-header h1{margin:0 0 1.5rem;color:#333;font-size:1.5rem}@media(min-width:768px){.investment-form-header h1{font-size:2rem;margin-bottom:2rem}}.investment-form{display:flex;flex-direction:column;gap:1.5rem}.form-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.form-section h2{margin:0 0 1.25rem;font-size:1rem;font-weight:700;color:#555;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #eee;padding-bottom:.5rem}.form-row{display:grid;grid-template-columns:1fr;gap:0 1.5rem}@media(min-width:600px){.form-row{grid-template-columns:1fr 1fr}}.form-group{margin-bottom:1.25rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:.4rem;font-weight:600;color:#333;font-size:.9rem}.field-hint{font-weight:400;color:#888;font-size:.8rem}.form-group input[type=text],.form-group input[type=number],.form-group select{width:100%;padding:.65rem .75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;background-color:#fff;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled,.form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed}.checkbox-label{display:flex!important;align-items:center;gap:.5rem;cursor:pointer;font-weight:600;color:#333;font-size:.9rem}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.error-message{padding:1rem;background-color:#ffebee;color:#c62828;border-radius:4px}.form-actions{display:flex;gap:1rem;padding-bottom:2rem}.btn-save{padding:.75rem 2rem;background-color:#4caf50;color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;font-size:1rem;transition:background-color .2s}.btn-save:hover:not(:disabled){background-color:#45a049}.btn-save:disabled{opacity:.7;cursor:not-allowed}.btn-cancel{padding:.75rem 2rem;background-color:#757575;color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;font-size:1rem;transition:background-color .2s}.btn-cancel:hover:not(:disabled){background-color:#616161}.btn-cancel:disabled{opacity:.7;cursor:not-allowed}.legal-page{min-height:100vh;background:#f5f5f5;padding:1rem}@media(min-width:768px){.legal-page{padding:2rem}}.legal-container{max-width:800px;margin:0 auto;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}@media(min-width:768px){.legal-container{padding:2.5rem}}.legal-back{margin-bottom:1.5rem}.legal-back a{color:#667eea;text-decoration:none;font-size:.9rem}.legal-back a:hover{text-decoration:underline}.legal-container h1{font-size:1.6rem;color:#222;margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:2px solid #667eea}@media(min-width:768px){.legal-container h1{font-size:2rem}}.legal-section{margin-bottom:2rem}.legal-section h2{font-size:1.1rem;color:#333;margin:0 0 .75rem;padding-bottom:.4rem;border-bottom:1px solid #eee}@media(min-width:768px){.legal-section h2{font-size:1.2rem}}.legal-section h3{font-size:1rem;color:#444;margin:1rem 0 .5rem}.legal-section p{color:#555;line-height:1.7;margin:0 0 .75rem}.legal-section ul{color:#555;line-height:1.7;margin:0 0 .75rem;padding-left:1.5rem}.legal-section li{margin-bottom:.5rem}.legal-section a{color:#667eea;text-decoration:none}.legal-section a:hover{text-decoration:underline}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem;box-shadow:0 2px 4px #0000001a;position:relative;z-index:100}@media(min-width:768px){.app-header{padding:1rem 2rem}}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}@media(max-width:767px){.header-top{gap:.25rem}}.app-header h1{margin:0;font-size:1.2rem}@media(max-width:767px){.app-header h1{margin-left:48px;font-size:1.1rem}}@media(min-width:768px){.app-header h1{font-size:1.5rem}}.user-info{display:flex;align-items:center;gap:.5rem}@media(min-width:768px){.user-info{gap:1rem}}.profile-link{color:#fff;text-decoration:none;font-weight:500}.profile-link:hover{text-decoration:underline}.logout-button{padding:12px 16px;min-height:44px;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:4px;cursor:pointer;font-weight:500;transition:background .2s}@media(min-width:768px){.logout-button{padding:.5rem 1rem}}.logout-button:hover{background:#ffffff4d}.app-content{flex:1;padding:1rem;background:#f5f5f5}@media(min-width:768px){.app-content{padding:2rem}}.loading{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.5rem;color:#667eea}.app-footer{background:#f0f0f0;border-top:1px solid #ddd;padding:.75rem 1rem;text-align:center;font-size:.8rem;color:#888}.app-footer a{color:#888;text-decoration:none}.app-footer a:hover{color:#667eea;text-decoration:underline}.footer-separator{margin:0 .5rem}
