*{box-sizing:border-box}html,body{margin:0;padding:0;background:#f5f0df;color:#756b53;font-family:Arial,Helvetica,sans-serif;font-size:18px}.topbar{height:94px;background:linear-gradient(#3d5a80,#314b70);color:#fff;display:flex;align-items:center;gap:16px;padding:10px 14px;position:sticky;top:0;z-index:10;border-bottom:1px solid #19324f}.topbar .title{font-weight:bold;flex:1;text-align:center;font-size:24px}.btn,.iconbtn,button{border:1px solid #aa9f83;background:linear-gradient(#f7f3e8,#ded4b8);color:#655f4e;border-radius:8px;min-height:48px;padding:8px 18px;font-size:20px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.iconbtn{background:linear-gradient(#46658d,#304b70);color:#f7efd7;border-color:#233c5a;min-width:56px;font-size:28px}.back{font-size:40px;line-height:1}.page{max-width:980px;margin:0 auto;padding:16px}.list-head{background:#344f73;color:#fff;display:grid;grid-template-columns:90px 1fr 64px;padding:8px 12px;gap:10px}.day-row{display:grid;grid-template-columns:90px 1fr 64px;gap:10px;align-items:center;min-height:64px;padding:8px 12px;border-bottom:1px solid #eee8d8;background:#fffdf7}.day-row:nth-child(even){background:#f6f0e0}.day-date{font-size:22px;color:#395d93}.destinations{color:#315990;font-size:17px}.warn{display:inline-block;background:#d26cf2;color:#54433f;border-radius:5px;padding:8px 14px;margin-left:8px}.warn.orange{background:#ffbd3b}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{background:white;border:2px solid #b9ae93;border-radius:9px;display:grid;grid-template-columns:135px 1fr;min-height:76px;overflow:hidden}.field label{display:flex;align-items:center;padding:12px;border-right:2px solid #b9ae93}.field input,.field select,.field textarea{border:0;width:100%;font-size:25px;color:#47679d;padding:12px;background:#fff;outline:none}.field textarea{min-height:120px;resize:vertical}.field.full{grid-column:1/-1}.date-actions{display:flex;gap:12px}.choice-row{display:grid;grid-template-columns:300px auto auto;align-items:center;gap:14px;margin:14px 8px;font-size:28px}.choice-row label:first-child{text-align:left}.radio-pair{display:flex;align-items:center;gap:9px;color:#3f6399}.radio-pair input{width:24px;height:24px}.stops-box{background:#fff;border:2px solid #b9ae93;border-radius:8px;margin-top:16px;min-height:260px;overflow:hidden}.stop-row{display:grid;grid-template-columns:1fr 64px;gap:10px;align-items:center;padding:10px 16px;min-height:72px;border-bottom:1px solid #eee}.stop-row .name{font-size:28px;color:#3d6098}.danger-wrap{text-align:center;margin:28px 0}.danger{min-width:360px;font-size:28px}.plus{font-size:42px;font-weight:bold;width:64px}.section-title{font-size:36px;margin:4px 0 8px}.expense-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10px}.box{border:2px solid #b9ae93;border-radius:9px;background:#fff;overflow:hidden}.box-row{display:grid;grid-template-columns:125px 1fr;min-height:88px}.box-row+.box-row{border-top:2px solid #b9ae93}.box-row label{display:flex;align-items:center;padding:10px;border-right:2px solid #b9ae93}.box-row input,.box-row select{border:0;width:100%;font-size:24px;padding:10px;color:#47679d}.photo-reason{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:44px}.photo-panel,.reason-panel{min-width:0}.upload-preview{border:2px solid #b9ae93;border-radius:8px;background:#fff;min-height:220px;display:flex;align-items:center;justify-content:center;overflow:hidden}.upload-preview img{max-width:100%;max-height:300px}.subtext{font-size:18px;line-height:1.3}.savebar{position:sticky;bottom:0;padding:10px;background:rgba(245,240,223,.95);text-align:center}.savebar button{min-width:260px}.totals{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0}.total-card{background:#fff;border:1px solid #b9ae93;border-radius:8px;padding:10px 16px}.small{font-size:15px}.empty{padding:40px;text-align:center;color:#999}@media(max-width:720px){html,body{font-size:16px}.topbar{height:74px}.page{padding:10px}.form-grid,.expense-grid,.photo-reason{grid-template-columns:1fr}.field.full{grid-column:auto}.choice-row{grid-template-columns:1fr auto auto;font-size:21px}.day-row,.list-head{grid-template-columns:74px 1fr 54px}.field{grid-template-columns:120px 1fr}.danger{min-width:0;width:100%}.photo-reason{gap:18px}.section-title{font-size:30px}}
.category-controls{width:100%;display:flex;flex-direction:column;gap:6px;padding:7px}.category-controls select,.category-controls input{width:100%;border:0;font-size:24px;padding:8px;color:#47679d;background:#fff;outline:none}.category-controls input{display:none;border-top:1px solid #d8d0bd}.lunch-button{width:100%;border:0;border-radius:0;background:linear-gradient(#f3eddd,#e3dac3);font-size:28px;min-height:72px}.lunch-button:active{background:#d9ceb1}
.list-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.active-tab{outline:3px solid #47679d}.list-add{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:16px}.list-add input,.managed-row input{font-size:22px;padding:11px;border:1px solid #b9ae93;border-radius:8px;color:#47679d}.managed-list{background:#fff;border:2px solid #b9ae93;border-radius:9px;overflow:hidden}.managed-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:9px;border-bottom:1px solid #e7dfcc}.managed-row:last-child{border-bottom:0}.managed-row button{min-height:44px;font-size:17px}.danger.mini{min-width:0;font-size:17px}.managed-row button:disabled,.managed-row input:read-only{opacity:.55;cursor:not-allowed}.exchange-help{font-size:15px;margin:8px 4px 18px;color:#6d644f}.foreign-box select{border:0;width:100%;font-size:21px;padding:10px;color:#47679d;background:#fff}@media(max-width:720px){.managed-row{grid-template-columns:1fr 1fr}.managed-row input{grid-column:1/-1}.list-add{grid-template-columns:1fr}.topbar .btn{padding:6px 9px;font-size:14px;min-height:42px}}

.money-readonly{display:flex;align-items:center;gap:8px}.money-readonly input{flex:1;background:#f3f3f3}.money-readonly span{font-weight:700}.money-readonly.editable input{background:#fff}.settings-card{max-width:620px;margin:20px auto;padding:18px;border:1px solid #ddd;border-radius:12px;background:#fff}.settings-card .field{margin-bottom:18px}


.menu-dropdown{position:relative;margin:0}.menu-dropdown summary{list-style:none}.menu-dropdown summary::-webkit-details-marker{display:none}.menu-toggle{user-select:none}.menu-panel{position:absolute;top:68px;left:0;min-width:220px;background:#f7f3e8;border:1px solid #aa9f83;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.18);padding:8px;display:flex;flex-direction:column;gap:8px;z-index:30}.menu-link{border:1px solid #aa9f83;background:linear-gradient(#f7f3e8,#ded4b8);color:#655f4e;border-radius:8px;min-height:48px;padding:10px 14px;font-size:20px;text-decoration:none;display:flex;align-items:center}.menu-link:hover{filter:brightness(.98)}
@media(max-width:720px){.menu-panel{top:56px;left:0;min-width:190px}.menu-link{font-size:18px;min-height:44px}}
.km-rate-add,.km-rate-row{background:#fff;border:2px solid #b9ae93;border-radius:10px;padding:14px;margin-bottom:14px;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end}.km-rate-add label,.km-rate-row label{display:block;font-size:17px;margin-bottom:5px}.km-rate-add input,.km-rate-row input{width:100%;font-size:21px;padding:10px;border:1px solid #b9ae93;border-radius:7px;color:#47679d;background:#fff}.km-rate-actions{display:flex;gap:8px}.km-rate-list{margin-top:18px}@media(max-width:820px){.km-rate-add,.km-rate-row{grid-template-columns:1fr 1fr}.km-rate-actions{grid-column:1/-1}.km-rate-add button{grid-column:1/-1}}@media(max-width:520px){.km-rate-add,.km-rate-row{grid-template-columns:1fr}}
.warn.blue{background:#6f96d8;color:#fff}.warn.fuchsia{background:#d95cf0;color:#4d3f48}.warn.yellow{background:#ffbd3b;color:#5f533b}.stop-row .name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stop-row .warn{font-size:18px;padding:7px 12px;margin-left:0}.destinations{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.destinations .warn{margin-left:0}

.expense-side{display:flex;flex-direction:column;gap:14px}.lunch-box{border:2px solid #b9ae93;border-radius:9px;background:#fff;overflow:hidden}.lunch-box .lunch-button{border:0;border-radius:0;width:100%}
.print-settings{max-width:680px}.print-settings .field{margin-bottom:14px}.print-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.print-actions button{font-size:22px;min-height:58px}@media(max-width:720px){.print-actions{grid-template-columns:1fr}}

.stop-open{position:relative;background:#36567d!important;border-color:#203a59!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.stop-open.receipt-empty{background:#36567d!important}.stop-open.receipt-present{background:#36567d!important}.receipt-dot{width:19px;height:19px;border-radius:50%;background:#35a853;border:2px solid #dff0d8;box-shadow:0 0 0 1px rgba(0,0,0,.25)}

.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:#f5f0df}.login-card{width:min(420px,100%);background:#fffdf7;border:2px solid #b9ae93;border-radius:14px;padding:26px;box-shadow:0 12px 36px rgba(0,0,0,.12)}.login-card h1{text-align:center;color:#36567d;margin:0 0 10px}.login-note{text-align:center;font-size:16px;line-height:1.4}.login-card form{display:flex;flex-direction:column;gap:16px}.login-card label{font-weight:700}.login-card input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #b9ae93;border-radius:8px;font-size:20px;color:#36567d}.login-submit{width:100%;background:linear-gradient(#46658d,#304b70);color:#fff;border-color:#233c5a}.login-error{background:#f8dddd;color:#8b2323;border:1px solid #d99;border-radius:8px;padding:10px;margin:12px 0}
