:root{--theme-ink:#063a4a;--theme-action:#087e83;--theme-action-hover:#06666b;--theme-action-soft:#e6f2f1;--theme-sun:#ff8a24;--theme-background:#f5f7f3}*{box-sizing:border-box}body{color:var(--theme-ink);background:var(--theme-background);margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif}a{color:var(--theme-action)}button,input{font:inherit}a,button,input{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}h1,h2,p{margin-top:0}h1{letter-spacing:-.04em;font-size:2.3rem}h2{font-size:1.2rem}p{line-height:1.7}.muted,small{color:#74827c}.brand{color:var(--theme-ink);letter-spacing:-.04em;align-items:center;gap:10px;font-size:1.45rem;font-weight:750;text-decoration:none;display:flex}.sun{color:#cc9a45;font-size:2.3rem}.eyebrow{letter-spacing:.14em;color:#6d856e;font-size:.7rem;font-weight:750}form{gap:19px;margin-top:30px}form,label{display:grid}label{gap:9px;font-size:.85rem;font-weight:600}input{width:100%;color:var(--theme-ink);background:#fbfcfa;border:1px solid #dbe3d9;padding:13px}.primary,input{border-radius:9px}.primary{background:var(--theme-action);color:#fff;border:0;justify-content:space-between;padding:15px 20px;font-weight:650;display:flex}.error{background:#fff0ed;border-radius:8px;padding:12px;color:#b33c3c!important}.workspace{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{background:linear-gradient(#fafcf8,#f0f5eb);border-right:1px solid #e2e9df;flex-direction:column;gap:22px;padding:25px 14px;display:flex}.sidebar .brand{justify-content:center;font-size:1.35rem}.profile{background:radial-gradient(at top,#fff,#eef3e7);border:1px solid #e4ebdf;border-radius:17px;flex-direction:column;align-items:center;gap:8px;padding:24px 12px;display:flex}.avatar{color:#467253;background:#dae9ce;border-radius:50%;place-items:center;width:65px;height:65px;margin-bottom:5px;font-size:1.6rem;display:grid}.profile small{font-size:.72rem}.nav-card{background:#ffffff80;border:1px solid #e3ebde;border-radius:14px;margin-bottom:12px;padding:12px 8px}.nav-card h2{letter-spacing:.08em;color:#7b887a;margin:0 8px 12px;font-size:.63rem}.nav-link{color:#355b4d;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;width:100%;padding:12px;font-size:.82rem;text-decoration:none;display:flex}.nav-link.active{background:#e7efdf;border-left:3px solid #49815c;font-weight:650}.nav-note{color:#7b887a;margin:8px;font-size:.8rem}.sidebar-footer{text-align:center;margin-top:auto;font-size:.67rem}.workspace-body{flex-direction:column;min-width:0;display:flex}.workspace-body header{color:#7b887a;background:#ffffffb3;border-bottom:1px solid #e8ece4;justify-content:space-between;padding:24px 38px;font-size:.8rem;display:flex}.status{color:#658e61}.workspace-main{flex:1;width:100%;max-width:1300px;margin:auto;padding:44px}.workspace-main h1{margin:14px 0 8px;font-size:2rem}.greeting{color:#c99c46}.welcome-banner{background:linear-gradient(110deg,#e7edda,#f3eedb);border:1px solid #e1e6d3;border-radius:20px;justify-content:space-between;align-items:center;margin:30px 0 24px;padding:36px;display:flex}.welcome-banner h2{margin:14px 0 8px;font-size:1.7rem}.welcome-banner p{color:#7a866c;margin:0}.welcome-banner>span{color:#bda165;margin:0 20px;font-size:100px}.dashboard-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.panel{background:#fff;border:1px solid #e5ebdf;border-radius:17px;padding:27px}.tile-icon{color:#5d895a;background:#eef4e8;border-radius:12px;place-items:center;width:40px;height:40px;margin-bottom:20px;font-size:1.4rem;display:grid}.panel p{color:#859080;overflow-wrap:anywhere;font-size:.85rem}.badge{background:var(--theme-action-soft);color:var(--theme-ink);border-radius:20px;padding:6px 10px;font-size:.7rem}.empty-state{text-align:center;margin-top:24px;padding:36px}.empty-state .tile-icon{margin:0 auto 16px}.empty-state p{margin-bottom:0}.workspace-body footer{text-align:center;color:#8c9689;padding:25px;font-size:.7rem}@media (width<=760px){.dashboard-grid,.workspace{grid-template-columns:1fr}.sidebar{padding:15px}.profile,.sidebar-footer,.welcome-banner>span{display:none}.sidebar nav{flex-wrap:wrap;gap:8px;display:flex}.nav-card{flex:1;margin:0}.workspace-main{padding:25px 18px}.workspace-body header{padding:18px}.welcome-banner{padding:25px}}select,textarea{font:inherit;color:inherit;background:#fbfcfa;border:1px solid #dbe3d9;border-radius:9px;width:100%;max-width:100%;padding:13px}textarea{resize:vertical}select:focus-visible,textarea:focus-visible{outline:2px solid var(--theme-action);outline-offset:3px}.page-heading,.section-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.page-heading{margin-bottom:28px}.module-dialog form,.page-heading p,.section-heading h2{margin:0}.icon-button,.page-heading>.primary{flex-shrink:0}.secondary{color:var(--theme-action);background:#fff;border:1px solid #dce5d7;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:.85rem;line-height:1.4;text-decoration:none;display:inline-flex}.icon-button,.secondary:hover{background:var(--theme-action-soft)}.danger{color:#b34e45!important}.icon-button{width:36px;height:36px;color:var(--theme-action);border:0;border-radius:9px;place-items:center;font-size:1.3rem;display:inline-grid}.icon-button:hover{background:#d4eae9}.module-dialog{overscroll-behavior:contain;scrollbar-width:none;width:min(560px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--theme-ink);background:#fff;border:1px solid #dfe8d8;border-radius:18px;padding:1.4rem;overflow:auto;box-shadow:0 20px 80px #122b2326}.module-dialog .upload-previews::-webkit-scrollbar{display:none}.module-dialog textarea::-webkit-scrollbar{display:none}.module-dialog::-webkit-scrollbar{display:none}.module-dialog .upload-previews,.module-dialog textarea{scrollbar-width:none}.module-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#122b2366}.module-dialog .section-heading{margin-bottom:5px}.form-actions{border-top:1px solid #e6ecdf;justify-content:flex-end;gap:10px;margin-top:8px;padding-top:20px;display:flex}.module-empty{text-align:center;padding:60px 25px}.module-empty p{max-width:440px;margin:0 auto 24px}.module-empty .primary{gap:12px;display:inline-flex}.empty-symbol{color:#a5af86;margin:0 auto 22px;font-size:3.5rem;line-height:1;display:block}.result-count{color:#7b8878;margin-bottom:18px;font-size:.8rem}.trip-grid{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:24px;display:grid}.trip-card{background:#fff;border:1px solid #e1e9da;border-radius:18px;overflow:hidden;box-shadow:0 5px 20px #31513304}.trip-cover{aspect-ratio:1.65;background:linear-gradient(145deg,#e9eddd,#e0e9da);place-items:center;text-decoration:none;display:grid;position:relative;overflow:hidden}.trip-cover img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .3s;position:absolute;inset:0}.trip-cover:hover img{transform:scale(1.035)}.cover-placeholder{color:#9ba986;font-size:7rem}.photo-count{color:#fff;background:#284b3abd;border-radius:8px;padding:7px 10px;font-size:.7rem;position:absolute;bottom:14px;right:14px}.trip-card-body{padding:23px}.full-description,.trip-card-body h2,.trip-description,.trip-intro h1{overflow-wrap:anywhere}.trip-card-body h2 a{color:var(--theme-ink);text-decoration:none}.trip-card-body>p{color:#7b887a;-webkit-line-clamp:3;white-space:pre-wrap;-webkit-box-orient:vertical;min-height:4.2em;font-size:.83rem;display:-webkit-box;overflow:hidden}.card-actions{border-top:1px solid #edf0e7;align-items:center;gap:8px;padding-top:16px;display:flex}.text-link{margin-right:auto;font-size:.8rem;font-weight:600;text-decoration:none}.back-link{margin-bottom:24px;font-size:.82rem;text-decoration:none;display:inline-block}.trip-intro{background:linear-gradient(120deg,#fff,#f5f6ec);justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:36px;display:flex}.trip-intro>div:first-child{min-width:0}.trip-description{white-space:pre-wrap;color:#7d8775;margin:16px 0 0;font-size:.9rem}.intro-actions{flex-shrink:0;gap:10px;display:flex}.photo-section-heading h2{margin:10px 0;font-size:1.5rem}.count-badge{background:#e7efdf;border-radius:20px;justify-content:center;align-items:center;min-width:28px;height:28px;margin-left:6px;font-size:.8rem;display:inline-flex}.success-notice{color:#4e7c45;background:#edf6e7;border:1px solid #d4e5c9;border-radius:10px;padding:12px 16px;font-size:.85rem}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:22px;display:grid}.photo-card{background:#fff;border:1px solid #e1e9da;border-radius:16px;overflow:hidden}.photo-open{aspect-ratio:1.3;background:#edf0e7;border:0;width:100%;padding:0;display:block;position:relative}.photo-open img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.cover-badge{color:#8a7133;background:#fff9e8ec;border-radius:8px;padding:6px 10px;font-size:.66rem;position:absolute;top:12px;left:12px}.photo-caption{padding:16px 18px}.photo-caption p{-webkit-line-clamp:2;white-space:pre-wrap;-webkit-box-orient:vertical;font-size:.85rem;display:-webkit-box;overflow:hidden}.photo-caption time,.photo-caption>span{color:#7a8877;font-size:.72rem}.upload-dialog{width:min(680px,100% - 32px)}.drop-zone{text-align:center;cursor:pointer;background:#f6f9f1;border:2px dashed #cbdabc;border-radius:15px;flex-direction:column;align-items:center;gap:10px;padding:30px 18px;display:flex;position:relative}.drop-zone:focus-within{outline:2px solid var(--theme-action)}.drop-zone .empty-symbol{margin:0 0 3px;font-size:2.5rem}.drop-zone>span{font-size:.82rem;font-weight:400}.drop-zone>small{font-size:.68rem;font-weight:400;line-height:1.6}.drop-zone input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.upload-previews{grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:10px;max-height:250px;display:grid;overflow-y:auto}.upload-previews>div{aspect-ratio:1;position:relative}.upload-previews img{-o-object-fit:cover;object-fit:cover;border-radius:9px;width:100%;height:100%}.preview-remove{color:#9c4640;background:#fff;border:0;border-radius:50%;width:25px;height:25px;position:absolute;top:3px;right:3px}.date-choice{border:1px solid #e1e8da;border-radius:10px;gap:12px;padding:15px;display:grid}.date-choice legend{font-size:.85rem;font-weight:600}.date-choice label{align-items:flex-start;gap:8px;font-size:.8rem;font-weight:400;display:flex}.date-choice input[type=radio]{width:auto;accent-color:var(--theme-action);margin:3px 0 0}.photo-detail-dialog{width:min(960px,100% - 32px);padding:24px}.photo-detail-dialog>.section-heading{margin-bottom:20px}.photo-stage{background:#162c28;border-radius:12px;place-items:center;display:grid;position:relative;overflow:hidden}.photo-stage>img{-o-object-fit:contain;object-fit:contain;max-width:100%;max-height:55dvh;display:block}.photo-next,.photo-prev{color:var(--theme-ink);background:#ffffffdb;border:0;border-radius:50%;width:38px;height:38px;font-size:1.5rem;position:absolute;top:45%}.photo-prev{left:12px}.photo-next{right:12px}.photo-detail-body{padding:22px 4px 0}.photo-detail-body time{color:#7c8876;font-size:.8rem}.photo-detail-body .section-heading{flex-wrap:wrap}.full-description{white-space:pre-wrap;margin-top:20px;font-size:.9rem}.photo-detail-actions{border-top:1px solid #e6ecdf;flex-wrap:wrap;gap:10px;margin-top:22px;padding-top:22px;display:flex}.photo-detail-dialog>form{margin-top:20px}@media (width<=1000px){.trip-intro{flex-direction:column}}@media (width<=600px){.page-heading{flex-direction:column;align-items:flex-start}.page-heading>.primary{justify-content:center;align-self:stretch}.module-dialog{padding:20px}.trip-intro{padding:22px}.intro-actions{flex-wrap:wrap;width:100%}.module-empty{padding:40px 20px}.photo-detail-actions>*{flex:1}.photo-stage>img{max-height:45dvh}}.profile-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:26px;display:grid}.profile-grid .panel{padding:30px}.member-since{font-size:.78rem}.profile-avatar-section{border-bottom:1px solid #e4ebdf;align-items:center;gap:22px;margin:24px 0;padding-bottom:24px;display:flex}.profile-avatar-control{flex-shrink:0;position:relative}.profile-avatar-preview{color:#41724e;background:#e9f1e1;border-radius:50%;place-items:center;width:88px;height:88px;font-size:2rem;display:grid;overflow:hidden}.profile-avatar-preview img,.sidebar .avatar img{-o-object-fit:cover;object-fit:cover;border-radius:inherit;width:100%;height:100%}.avatar-icon{border:2px solid #fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:1.1rem;display:grid;position:absolute;right:-6px;box-shadow:0 2px 6px #0002}.avatar-edit{background:var(--theme-action);color:#fff;bottom:0}.avatar-remove{color:#ae4840;background:#fcece8;top:0}.avatar-help{gap:9px;min-width:0;display:grid}.avatar-help strong{font-size:.85rem}.avatar-help small{font-size:.72rem;line-height:1.6}.avatar-help .error,.avatar-help .success-notice{margin:0;font-size:.75rem}.profile-form{gap:22px;margin-top:22px}.profile-form small{font-size:.7rem;font-weight:400;line-height:1.5}.profile-name-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.profile-form input[readonly]{color:#7c8778;background:#f0f3ed}.profile-form button{justify-content:center}.profile-form p{margin:0}.profile-security>p{font-size:.85rem}.sidebar .profile .profile-description{overflow-wrap:anywhere;text-align:center;color:#70856e;max-width:100%}@media (width<=1000px){.profile-grid{grid-template-columns:1fr}}@media (width<=600px){.profile-grid .panel{padding:22px}.profile-name-fields{grid-template-columns:1fr}.profile-avatar-section{gap:16px}}.app-notifications[data-v-9edc1f0a]{max-width:100vw}.app-notification[data-v-9edc1f0a]{color:#233e35;background:#edf5e9;border:1px solid #dce5d7;border-left:5px solid #176b56;border-radius:12px;align-items:center;gap:16px;margin:12px;padding:16px 18px;font-size:14px;line-height:1.5;display:flex;box-shadow:0 8px 28px #233e3526}.app-notification.error[data-v-9edc1f0a]{color:#9e3030;background:#fff0ed;border-color:#ecc7c0 #ecc7c0 #ecc7c0 #9e3030}.app-notification span[data-v-9edc1f0a]{overflow-wrap:anywhere;flex:1}.app-notification button[data-v-9edc1f0a]{color:inherit;background:0 0;border:0;flex-shrink:0;padding:0 4px;font-size:24px;line-height:1.2}
