:root{--ink:#18332d;--muted:#74817b;--green:#1f5145;--green-dark:#163d35;--mint:#e9f3ed;--cream:#f7f8f4;--line:#e3e9e3;--white:#fff;--amber:#b8752d;--shadow:0 18px 50px rgba(23,54,44,.07);font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 85% 0%,#edf4eb 0,transparent 34%),var(--cream)}button,input,textarea,select{font:inherit}button{cursor:pointer}.page-shell{max-width:1180px;margin:0 auto;padding:0 28px}.topbar{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(216,226,216,.8)}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--green-dark);color:white;font-size:25px;font-weight:700;transform:rotate(-4deg)}.brand strong,.brand small{display:block}.brand strong{font:800 16px Arial,Helvetica,sans-serif;letter-spacing:-.3px}.brand small{margin-top:3px;color:var(--muted);font-size:12px}.user-area{display:flex;align-items:center;gap:12px}.user-chip{font-size:13px;font-weight:700}.auth-layout{min-height:calc(100vh - 160px);display:grid;grid-template-columns:1fr minmax(340px,430px);gap:80px;align-items:center;padding:58px 4% 70px}.hero-panel{max-width:560px}.van-photo{display:block;width:100%;max-width:540px;max-height:290px;aspect-ratio:16/9;object-fit:cover;object-position:center;border-radius:20px;border:1px solid var(--line);box-shadow:var(--shadow);margin:0 0 27px;background:#e9f3ed}.eyebrow{display:block;color:#658174;font-size:11px;font-weight:700;letter-spacing:1.7px;text-transform:uppercase}.hero-panel h1,.welcome-row h1{font:800 clamp(38px,5vw,58px)/1.08 Arial,Helvetica,sans-serif;letter-spacing:-2.6px;margin:18px 0}.hero-panel h1 em{font-style:normal;color:#6e8f7b}.hero-panel p{max-width:470px;color:#697a72;font-size:16px;line-height:1.8}.hero-points{display:grid;gap:12px;margin-top:32px;color:#4b6859;font-size:13px;font-weight:600}.auth-card,.side-card{background:var(--white);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.auth-card{padding:28px}.tabs{display:grid;grid-template-columns:1fr 1.4fr;background:#f2f5f0;padding:4px;border-radius:12px;margin-bottom:28px}.tab{border:0;background:transparent;color:#718078;border-radius:9px;padding:11px 8px;font-weight:700;font-size:12px}.tab.is-active{background:white;color:var(--green-dark);box-shadow:0 2px 8px #1736290d}.stack-form{display:grid;gap:17px}.stack-form label{display:block;margin-bottom:8px;font-size:12px;font-weight:700;color:#43564c}.stack-form input,.stack-form textarea,.stack-form select{width:100%;min-height:45px;border:1px solid #dce5dc;border-radius:10px;background:#fff;color:var(--ink);padding:11px 12px;outline:none;transition:border .15s,box-shadow .15s}.stack-form textarea{resize:vertical;min-height:86px}.stack-form input:focus,.stack-form textarea:focus,.stack-form select:focus{border-color:#6d9b81;box-shadow:0 0 0 3px #e4f1e8}.stack-form input::placeholder,.stack-form textarea::placeholder{color:#a3ada5}.field-help,.form-footnote{display:block;color:#87938b;font-size:11px;line-height:1.6;margin:7px 0 0}.form-footnote{margin:0;text-align:center}.button{border:0;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:0 18px;font-size:12px;font-weight:700;transition:transform .15s,background .15s}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--green);color:#fff}.button-primary:hover{background:#173f35}.button-wide{width:100%;min-height:48px}.button-quiet{background:transparent;color:#52665a}.button-small{min-height:34px;padding:0 11px;font-size:11px}.notice{margin-top:18px;padding:12px 14px;border-radius:10px;font-size:12px;line-height:1.5;background:#fff0e7;color:#8c4c20}.notice.success{background:#e8f5eb;color:#286141}main{min-height:calc(100vh - 160px)}#app-view{padding:38px 0 60px}.welcome-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.welcome-row h1{font-size:34px;letter-spacing:-1.3px;margin:9px 0}.welcome-row p{margin:0}.muted{color:var(--muted);font-size:13px;line-height:1.6}.summary-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:15px;margin-bottom:31px}.summary-card{min-height:140px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:17px;position:relative;overflow:hidden}.summary-dark{background:var(--green-dark);color:#fff;border-color:var(--green-dark)}.summary-icon{position:absolute;right:18px;top:17px;width:33px;height:33px;border-radius:11px;display:grid;place-items:center;background:#ffffff20;font-size:18px}.soft-icon{background:#edf5ef;color:var(--green)}.summary-card p{margin:0 0 18px;font-size:11px;color:#8a9990;font-weight:700}.summary-dark p{color:#b8cec2}.summary-card strong{display:block;font:800 23px Arial,Helvetica,sans-serif;letter-spacing:-.7px;max-width:85%;overflow-wrap:anywhere}.summary-card span:not(.summary-icon){display:block;margin-top:8px;font-size:11px;color:#87958c}.summary-dark span:not(.summary-icon){color:#b8cec2}.section-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:26px}.section-tab{position:relative;border:0;background:transparent;padding:13px 17px;color:#7c8981;font-size:12px;font-weight:700}.section-tab.is-active{color:var(--green-dark)}.section-tab.is-active:after{content:'';position:absolute;bottom:-1px;left:14px;right:14px;height:3px;border-radius:3px 3px 0 0;background:#4d856a}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:19px}.section-heading h2{font:800 21px Arial,Helvetica,sans-serif;letter-spacing:-.6px;margin:0 0 6px}.section-heading p{margin:0}.view-toggle{display:flex;padding:3px;background:#edf1eb;border-radius:10px}.view-button{border:0;background:transparent;padding:9px 12px;border-radius:8px;color:#7d8a80;font-size:11px;font-weight:700}.view-button.is-active{background:#fff;color:var(--green);box-shadow:0 1px 4px #142a1c0c}.booking-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);align-items:start;gap:22px}.booking-list{display:grid;gap:12px}.booking-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px;display:grid;grid-template-columns:65px 1fr auto;gap:15px;align-items:center}.date-tile{width:60px;min-height:68px;background:#edf5ef;border-radius:12px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#38634d}.date-tile strong{font:800 24px Arial,Helvetica,sans-serif;line-height:1.1}.date-tile span{font-size:10px;font-weight:700;text-transform:uppercase;margin-top:5px}.booking-info h3{font-size:13px;margin:0 0 6px}.booking-info p{font-size:11px;color:#819087;margin:0;line-height:1.6}.booking-time{font-size:11px;color:#50695a;font-weight:700;margin-bottom:4px}.booking-note{margin-top:7px!important;white-space:pre-wrap;overflow-wrap:anywhere}.booking-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.pill{background:#edf5ef;color:#437156;border-radius:30px;padding:6px 9px;font-size:9px;font-weight:700;white-space:nowrap}.pill.mine{background:#e9efff;color:#4d6199}.text-button{border:0;background:transparent;color:#567561;font-size:10px;font-weight:700;padding:4px}.text-button.danger{color:#b55e4a}.km-line{margin-top:7px!important;color:#567561!important}.side-card{padding:21px}.side-card-heading{display:flex;gap:12px;align-items:flex-start;margin-bottom:20px}.mini-icon{flex:0 0 35px;width:35px;height:35px;border-radius:11px;display:grid;place-items:center;background:#edf5ef;color:#3c7054;font-size:17px}.side-card-heading h3{font:800 15px Arial,Helvetica,sans-serif;margin:1px 0 5px;letter-spacing:-.2px}.side-card-heading p{font-size:11px;color:#8a978f;margin:0;line-height:1.5}.optional{font-weight:400;color:#96a198}.agreements-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.agreement-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:21px;position:relative}.agreement-card h3{font:800 14px Arial,Helvetica,sans-serif;margin:0 0 10px}.agreement-card p{font-size:12px;color:#718078;line-height:1.75;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.agreement-actions{display:flex;gap:8px;margin-top:12px}.agreement-form{max-width:620px;margin-top:22px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.members-list{display:grid;gap:0}.member-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0ec}.member-row:last-child{border-bottom:0}.member-identity{display:flex;align-items:center;gap:10px;min-width:0}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#edf5ef;color:#3d6d51;font-size:12px;font-weight:800;flex:0 0 auto}.member-identity strong{display:block;font-size:12px}.member-identity small{display:block;font-size:10px;color:#87938a;margin-top:3px;overflow-wrap:anywhere}.role-label{font-size:9px;font-weight:700;color:#62806b;background:#edf5ef;border-radius:30px;padding:6px 8px;white-space:nowrap}.invite-result{margin-top:16px;background:#edf5ef;border-radius:12px;padding:14px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.invite-result a{color:#245a42;font-weight:700}.invite-result button{margin-top:10px}.loading-card,.empty-state{padding:28px;background:#fff;border:1px dashed #dbe4da;border-radius:15px;color:#829087;font-size:12px;line-height:1.7;text-align:center}.empty-state strong{display:block;color:#4c6556;font-size:13px;margin-bottom:5px}.modal{border:1px solid var(--line);border-radius:20px;padding:25px;width:min(480px,calc(100% - 28px));box-shadow:0 25px 90px #10291d35;color:var(--ink)}.modal::backdrop{background:#102a1f80;backdrop-filter:blur(3px)}.modal-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:8px}.modal-heading h2{font:800 23px Arial,Helvetica,sans-serif;letter-spacing:-.7px;margin:7px 0}.modal-heading .muted{margin:0}.icon-button{width:32px;height:32px;border:0;border-radius:9px;background:#f0f4ef;color:#60766a;font-size:23px;line-height:1}.km-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.distance-preview{padding:12px;background:#f1f6f0;color:#5b7463;border-radius:10px;font-size:12px;line-height:1.5}.toast,.global-message{position:fixed;z-index:10;left:50%;bottom:24px;transform:translateX(-50%);max-width:min(560px,calc(100% - 28px));padding:13px 18px;border-radius:12px;background:#173f35;color:white;font-size:12px;box-shadow:0 12px 40px #102a1f2c}.toast.error,.global-message.error{background:#963e32}.global-message{bottom:auto;top:18px}footer{display:flex;justify-content:space-between;gap:12px;padding:22px 0 30px;color:#96a198;font-size:10px;border-top:1px solid var(--line)}[hidden]{display:none!important}
@media(max-width:850px){.page-shell{padding:0 18px}.auth-layout{grid-template-columns:1fr;gap:28px;padding:35px 0 50px;max-width:540px;margin:auto}.van-photo{max-height:240px;margin-bottom:22px}.hero-panel h1{font-size:44px}.hero-panel p{font-size:14px}.hero-points{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.booking-layout{grid-template-columns:1fr}.booking-form-card{grid-row:1}.summary-grid{grid-template-columns:1fr 1fr}.summary-dark{grid-column:span 2}.summary-card{min-height:125px}.admin-grid{grid-template-columns:1fr}.booking-card{grid-template-columns:55px minmax(0,1fr) auto;gap:10px;padding:13px}.date-tile{width:52px;min-height:62px}.booking-actions .pill{max-width:95px;white-space:normal;text-align:center}.agreements-grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.page-shell{padding:0 14px}.topbar{height:72px}.brand-mark{width:36px;height:36px;border-radius:12px}.brand strong{font-size:14px}.brand small{font-size:10px}.user-area{gap:4px}.user-chip{display:none}.auth-layout{padding-top:28px}.van-photo{aspect-ratio:16/9;border-radius:15px;margin-bottom:18px}.hero-panel h1{font-size:38px;letter-spacing:-1.7px;margin:13px 0}.hero-panel p{font-size:13px;line-height:1.7}.hero-points{font-size:11px}.auth-card{padding:20px;border-radius:17px}.tabs{margin-bottom:22px}.tab{font-size:10px}.welcome-row{align-items:flex-start;flex-direction:column;margin-bottom:20px}.welcome-row h1{font-size:29px}.welcome-row>.button{width:100%}#app-view{padding-top:25px}.summary-grid{gap:9px}.summary-card{padding:15px;min-height:117px;border-radius:14px}.summary-card strong{font-size:19px}.summary-card p{font-size:10px;margin-bottom:15px}.summary-card span:not(.summary-icon){font-size:10px}.summary-icon{width:28px;height:28px;right:12px;top:12px}.section-tabs{gap:0;margin-bottom:20px}.section-tab{padding:12px 13px;font-size:11px}.section-heading{align-items:flex-start;flex-direction:column;gap:12px}.section-heading h2{font-size:19px}.view-toggle{width:100%}.view-button{flex:1}.booking-card{grid-template-columns:48px minmax(0,1fr);gap:10px;position:relative;padding:13px}.date-tile{width:46px;min-height:59px}.date-tile strong{font-size:21px}.booking-info{padding-right:0}.booking-info h3{font-size:12px;padding-right:0}.booking-actions{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;margin-top:0}.booking-actions .pill{max-width:none;white-space:nowrap}.booking-time{font-size:10px}.booking-info p{font-size:10px}.side-card{padding:17px;border-radius:16px}.agreements-grid{grid-template-columns:1fr}.agreement-card{padding:18px}.km-fields{grid-template-columns:1fr}.modal{padding:20px}.modal-heading h2{font-size:21px}footer{font-size:9px;flex-direction:column;gap:6px;padding-bottom:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
