:root { color-scheme:dark; font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; --ink:#f3f1ec; --muted:#b4bdbe; --faint:#839296; --line:rgba(233,241,239,.11); --shade:.2; --accent:#b5afe4; --out:cubic-bezier(.23,1,.32,1); --soft:cubic-bezier(.215,.61,.355,1); }
* { box-sizing:border-box; }
html,body { height:100%; margin:0; overflow:hidden; }
body { color:var(--ink); background:#162127; font-size:14px; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button { color:inherit; cursor:pointer; }
a { color:inherit; text-decoration:none; }
button { border:0; }
svg { width:19px; height:19px; flex:none; stroke:currentColor; fill:none; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; vertical-align:middle; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:2px solid #d8c0a5; outline-offset:3px; }
[hidden] { display:none!important; }
.scene { position:fixed; inset:0; z-index:-2; background:url('assets/primitive-dusk.png') center/cover no-repeat; }
.atmosphere { position:fixed; inset:0; z-index:-1; background:rgb(7 16 22 / var(--shade)); pointer-events:none; }
.desktop-shell { position:fixed; inset:clamp(14px,3vw,46px); display:grid; grid-template-columns:251px minmax(0,1fr); border:1px solid rgba(255,255,255,.22); border-radius:23px; background:rgba(17,28,34,.4); box-shadow:0 30px 90px #0008,inset 0 1px #ffffff15; overflow:hidden; }
.workspace-rail { min-height:0; display:flex; flex-direction:column; padding:20px 13px 13px; background:rgba(13,26,33,.81); backdrop-filter:blur(26px) saturate(115%); border-right:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:9px; padding:0 9px 22px; font-size:18px; font-weight:570; letter-spacing:-.6px; }
.brand-symbol { font-size:33px; font-weight:300; color:#e0c4aa; line-height:1; }
.brand-caption { display:block; margin-top:3px; color:#96a4a9; font-size:10px; font-weight:400; letter-spacing:.01em; }
.brand-dots { margin-left:auto; color:#8b989e; letter-spacing:2px; font-size:12px; }
.search-trigger { display:flex; align-items:center; gap:9px; width:100%; min-height:43px; padding:0 11px; border:1px solid #ffffff16; border-radius:12px; background:linear-gradient(130deg,#ffffff0d,#ffffff04); box-shadow:inset 0 1px #ffffff0a; color:#acb9bf; text-align:left; transition:background-color .2s ease,border-color .2s ease,transform .12s var(--out); }
.search-trigger>span:nth-child(2) { flex:1; font-size:12px; }
.search-trigger svg { width:16px; }
kbd { color:#93a3ab; background:#0a141b44; border:1px solid #ffffff10; padding:3px 5px; border-radius:5px; font:9px ui-monospace,monospace; }
.destination-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; position:relative; margin-top:13px; padding:0; isolation:isolate; }
.destination { display:flex; flex-direction:column; align-items:center; justify-content:center; height:61px; gap:7px; position:relative; z-index:1; border-radius:12px; color:#94a5ae; transition:color .2s ease,transform .12s var(--out); }
.destination span { font-size:10px; }
.destination.active,.destination:focus-visible { color:#fff; }
.destination-highlight { opacity:0; position:absolute; top:0; left:0; z-index:0; pointer-events:none; background:linear-gradient(135deg,#ffffff17,#ffffff08); border:1px solid #ffffff18; border-radius:12px; box-shadow:inset 0 1px #ffffff0d,0 8px 20px #00000012; transition:transform .15s var(--out),opacity .2s ease; }
.rail-scroll { flex:1; min-height:0; overflow-y:auto; margin-top:28px; scrollbar-width:thin; scrollbar-color:#ffffff20 transparent; }
.section-label { display:flex; align-items:center; justify-content:space-between; padding:0 10px 10px; color:#82949b; font-size:10px; font-weight:650; text-transform:uppercase; letter-spacing:1.4px; }
.section-label a { display:grid; place-items:center; width:22px; height:20px; font-size:17px; }
.pins { display:grid; gap:3px; }
.pin { display:flex; align-items:center; gap:10px; min-height:39px; padding:8px 10px; border:1px solid transparent; border-radius:9px; transition:background-color .2s ease,border-color .2s ease; }
.pin>span:nth-child(2) { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#cbd4d7; font-size:12px; }
.pin small { color:#81959d; font-size:10px; }
.pin.active { background:#ffffff0c; border-color:#ffffff10; }
.colour-dot { display:inline-block; width:7px; height:7px; flex:none; border-radius:50%; background:var(--accent); }
.rail-week { margin-top:27px; }
.rail-shortcut { display:flex; align-items:center; gap:10px; padding:10px; color:#acbbc1; border-radius:9px; font-size:11px; }
.rail-shortcut svg { width:15px; color:#7f969f; }
.rail-shortcut>span:last-child { margin-left:auto; color:#8b9ca3; font-size:10px; }
.rail-help { margin:3px 10px; color:#8c9da5; font-size:11px; line-height:1.5; }
.rail-footer { display:flex; align-items:center; gap:5px; padding-top:15px; border-top:1px solid #ffffff0d; margin-top:12px; }
.profile { display:flex; align-items:center; gap:10px; flex:1; min-width:0; padding:6px 5px; }
.avatar-stack { display:flex; padding-right:6px; }
.avatar-stack i { display:grid; place-items:center; width:28px; height:28px; border:2px solid #283740; border-radius:10px; color:#f9e4d5; background:#8b6e64; font-size:10px; font-style:normal; }
.avatar-stack i+i { margin-left:-9px; color:#e0defa; background:#696882; }
.profile-copy { min-width:0; }
.profile strong { display:block; font-size:11px; font-weight:550; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.profile small { display:block; color:#8fa1aa; font-size:9px; margin-top:4px; }
.icon-button { display:inline-grid; place-items:center; min-width:32px; width:32px; height:32px; background:transparent; border:1px solid transparent; border-radius:9px; color:#9bacb3; transition:background-color .2s ease,color .2s ease,transform .12s var(--out); }
.icon-button svg { width:17px; }
.workspace-stage { min-width:0; min-height:0; background:rgba(19,29,35,.76); backdrop-filter:blur(30px) saturate(100%); }
.stage-bar { display:flex; align-items:center; justify-content:space-between; gap:15px; height:59px; padding:0 27px; border-bottom:1px solid #ffffff0d; background:rgba(13,23,29,.16); }
.breadcrumb { display:flex; align-items:center; gap:10px; min-width:0; font-size:11px; color:#82979f; }
.breadcrumb strong { color:#bec9cd; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.stage-actions { display:flex; align-items:center; gap:20px; flex:none; }
.save-state { color:#9cabac; font-size:10px; }
.save-error { color:#efbc99; }
.small-button,.outline-button { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:35px; padding:0 12px; border:1px solid #ffffff1a; border-radius:9px; background:#ffffff0b; font-size:11px; font-weight:500; line-height:1.4; transition:background-color .2s ease,border-color .2s ease,transform .12s var(--out); }
.small-button svg,.outline-button svg { width:15px; }
.solid { background:#e6d0b9; color:#23313a; border-color:#ead6c1; font-weight:600; }
.stage-scroll { height:calc(100% - 59px); overflow:auto; padding:35px clamp(22px,3vw,47px) 45px; scrollbar-width:thin; scrollbar-color:#b4c7d03b transparent; outline:0; }
.page-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:22px; margin-bottom:27px; }
.overline { margin:0 0 10px; color:#9eaeb2; font-size:10px; font-weight:600; letter-spacing:1.6px; text-transform:uppercase; }
h1 { margin:0; font-size:clamp(30px,3.1vw,44px); letter-spacing:-1.6px; font-weight:520; line-height:1.08; }
h1:focus { outline:0; }
.page-description { margin:11px 0 0; color:#acb9bd; line-height:1.55; font-size:12px; max-width:660px; }
.heading-actions { display:flex; align-items:center; gap:6px; flex:none; }
.glass-panel { border:1px solid #ffffff17; border-radius:17px; background:linear-gradient(130deg,#ffffff09,#ffffff03); box-shadow:inset 0 1px #ffffff08,0 13px 30px #00000009; }
h2 { font-weight:530; letter-spacing:-.45px; }
.home-banner { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:142px; padding:26px 28px; margin-bottom:20px; background:linear-gradient(110deg,#ac9b8b20,#ffffff05 70%); }
.home-banner h2 { font-size:26px; letter-spacing:-.9px; margin:8px 0 9px; font-weight:500; }
.home-banner p { margin:0; color:#b3bfc0; font-size:11px; }
.home-banner .overline { font-size:9px; color:#c8ae98; }
.banner-projects { display:flex; align-items:center; gap:16px; padding-left:20px; border-left:1px solid #ffffff12; }
.mini-landscape { width:77px; height:80px; border:1px solid #ffffff15; border-radius:13px; background:linear-gradient(#00000008,#00000028),url('assets/primitive-dusk.png') 69% 40%/cover; }
.banner-projects strong { display:block; font-size:14px; font-weight:550; }.banner-projects span:not(.mini-landscape) { display:block; color:#a9b5b9; font-size:10px; margin-top:6px; }.banner-projects a { display:inline-flex; align-items:center; gap:10px; color:#e5c8ac; font-size:10px; margin-top:14px; }.banner-projects svg { width:14px; }
.home-columns { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr); gap:17px; align-items:stretch; }
.list-panel { padding:18px 18px 7px; min-width:0; }
.panel-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:0 2px 13px; }
.panel-heading h2 { font-size:14px; margin:0; letter-spacing:-.2px; }.panel-heading a { display:flex; align-items:center; gap:7px; font-size:10px; color:#a9b9c0; }.panel-heading svg { width:13px; }.panel-heading>span { font-size:10px; color:#8ca0a7; }
.task-row { display:flex; align-items:center; gap:11px; padding:15px 3px; border-top:1px solid #ffffff0c; min-width:0; }
.task-check { display:grid; place-items:center; width:17px; height:17px; min-width:17px; padding:0; border:1px solid #91a2a366; border-radius:6px; background:transparent; color:#21342c; transition:background-color .2s ease,border-color .2s ease; }.task-check svg { width:12px; height:12px; stroke-width:2.3; }
.task-info { flex:1; min-width:0; padding:0; border:0; background:transparent; text-align:left; }
.task-info strong { display:block; color:#e1e6e6; font-size:12px; font-weight:450; line-height:1.4; }.task-info small { display:flex; align-items:center; gap:5px; color:#92a4ac; font-size:9px; margin-top:5px; }.task-info .colour-dot { width:5px; height:5px; }
.task-done .task-check { background:#b8c7b0; border-color:#b8c7b0; }.task-done .task-info strong { text-decoration:line-through; color:#8da1a8; }
.task-date { flex:none; color:#9fb0b7; font-size:10px; white-space:nowrap; }.task-date.late { color:#e7b49b; }
.priority-mark { color:#e3ba96; font-size:13px; font-weight:650; }
.owner { display:inline-flex; align-items:center; gap:7px; font-size:10px; color:#b7c2c7; white-space:nowrap; }
.owner>span { display:inline-grid; place-items:center; width:23px; height:23px; border-radius:8px; color:#ebd4c4; background:#b8947e21; border:1px solid #e2b59a22; font-size:9px; flex:none; }.owner.you>span { color:#d7d4ed; background:#b8a4ee20; border-color:#baa8e323; }.owner.shared>span { color:#c3d3d1; background:#96bebc16; border-color:#b8d8d91c; }
.inline-add { display:flex; align-items:center; gap:9px; padding:16px 2px; width:100%; color:#93a7ad; background:transparent; font-size:11px; text-align:left; border-top:1px solid #ffffff0b; }.inline-add svg { width:14px; }
.note-panel { display:flex; flex-direction:column; padding:18px 19px; background:linear-gradient(135deg,#c1ad8c0f,#ffffff02); }
.note-save { font-size:8px!important; color:#8a9c9f!important; }
.shared-note { flex:1; width:100%; min-height:155px; resize:vertical; padding:8px 0; border:0; outline:0; background:transparent; font-family:Georgia,serif; font-size:14px; line-height:1.7; color:#d6d4ca; }
.note-foot { border-top:1px solid #ffffff0b; padding-top:12px; margin-top:10px; font-size:9px; color:#8c9e9e; }
.section-block { margin-top:30px; }
.section-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:15px; }.section-heading h2 { font-size:17px; margin:0; }.section-heading p { margin:6px 0 0; color:#92a6af; font-size:10px; }.section-heading>a { display:flex; align-items:center; gap:8px; color:#b7c3c6; font-size:10px; }.section-heading svg { width:14px; }
.project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }.project-grid.home-projects { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.project-card { padding:20px; position:relative; min-width:0; transition:transform .15s var(--out),border-color .2s ease,background-color .2s ease; }
.project-top { display:flex; align-items:center; gap:8px; margin-bottom:19px; }.project-symbol { display:grid; place-items:center; width:34px; height:34px; border:1px solid color-mix(in srgb,var(--accent) 22%,transparent); border-radius:11px; color:var(--accent); background:color-mix(in srgb,var(--accent) 10%,transparent); }.project-symbol svg { width:17px; }
.category-label { color:#91a4ad; font-size:9px; }.pin-toggle { margin-left:auto; color:#637d89; width:28px; min-width:28px; }.is-pinned { color:#d6bd9d; }.pin-toggle svg { width:14px; }
.project-title { font-size:16px; font-weight:530; letter-spacing:-.3px; line-height:1.3; }.project-title::after { content:''; position:absolute; inset:63px 15px 74px; }.project-card button,.project-bottom a { position:relative; z-index:1; }
.project-card>p { min-height:48px; margin:10px 0 23px; color:#9fb0b6; font-size:11px; line-height:1.6; }
.project-progress { display:flex; justify-content:space-between; gap:5px; color:#8da2ac; font-size:9px; }.progress-track { height:3px; overflow:hidden; border-radius:3px; margin-top:9px; background:#ffffff0e; }.progress-track i { display:block; height:100%; background:var(--accent); border-radius:3px; }
.project-bottom { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:16px; }.project-bottom>a { color:#9dacae; }.project-bottom svg { width:15px; }
.home-projects .project-card { padding:16px; }.home-projects .project-title { font-size:14px; }.home-projects .category-label { display:none; }.home-projects .project-card>p { font-size:10px; min-height:60px; }.home-projects .project-progress { font-size:8px; }.home-projects .owner { font-size:9px; }
.filter-bar { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:22px; }.filter-bar>span { color:#9caeb6; font-size:11px; }
.segments { display:inline-flex; gap:3px; padding:4px; border:1px solid #ffffff0b; border-radius:11px; background:#0e1c2444; }.segments button,.segments>a { display:inline-flex; align-items:center; min-height:31px; border-radius:7px; padding:0 13px; background:transparent; color:#94a9b4; font-size:11px; }.segments .selected { background:#ffffff0e; color:#e9eae4; box-shadow:inset 0 1px #ffffff0b; }
.project-summary { display:flex; justify-content:space-between; align-items:center; gap:35px; padding:23px 25px; border-left:2px solid var(--accent); }.project-summary h2 { font-size:19px; line-height:1.4; font-weight:450; margin:0; max-width:580px; }.project-summary .overline { font-size:8px; }.project-summary>div:last-child { display:grid; gap:12px; flex:none; }.project-summary>div>span:last-child { font-size:10px; color:#93a8b2; }
.tab-bar { display:flex; align-items:center; gap:22px; margin:24px 0 17px; padding-bottom:11px; border-bottom:1px solid #ffffff15; }.tab-bar>a { color:#93a6af; font-size:12px; }.tab-bar>a.selected { color:#eed3b5; }.tab-bar>.small-button { margin-left:auto; }
.task-list { padding:3px 21px; }.task-list .task-row:first-child { border-top:0; }.completed-list summary { color:#95a7ae; padding:18px 0; font-size:11px; cursor:pointer; border-top:1px solid #ffffff0d; }
.job-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }.job-card { display:flex; flex-direction:column; padding:19px; min-width:0; }.job-card>header { display:flex; justify-content:space-between; align-items:center; }.job-repeat { display:flex; align-items:center; gap:6px; color:var(--accent); text-transform:capitalize; font-size:10px; }.job-repeat svg { width:14px; }.job-card h3 { margin:11px 0 7px; font-size:16px; font-weight:500; letter-spacing:-.3px; }.subtle-link { color:#98aab3; font-size:10px; }.job-card>p { color:#aab8be; font-size:11px; line-height:1.65; margin:17px 0; flex:1; }.job-card footer { display:flex; align-items:center; justify-content:space-between; gap:5px; margin:0 0 16px; }.job-run { width:100%; }.run-history { display:block; margin-top:9px; color:#8da0a9; font-size:9px; }
select,input,textarea { color:#e0e6e7; }
select { border:1px solid #ffffff18; border-radius:8px; padding:8px; background:#23343e; font-size:11px; }
.filter-select { display:flex; align-items:center; gap:9px; font-size:10px; color:#99aeb7; }
.list-tools { display:flex; align-items:center; gap:12px; margin-bottom:15px; }.list-tools>span { margin-left:auto; color:#90a4ae; font-size:10px; }.list-search { display:flex; align-items:center; gap:8px; min-width:0; }.list-search svg { width:14px; color:#8fa4ad; }.list-search input { border:0; background:transparent; outline:0; padding:7px 3px; font-size:12px; width:200px; }
.week-grid { display:grid; grid-template-columns:repeat(7,minmax(135px,1fr)); gap:9px; overflow:auto; padding-bottom:12px; }.day-column { padding:12px 9px; min-height:330px; }.day-column>header { display:flex; flex-direction:column; gap:8px; padding:3px 3px 14px; color:#90a5b0; font-size:10px; }.day-column>header strong { font-size:23px; color:#d8e1e4; font-weight:450; }.day-column.current-day { border-color:#d9b38c44; }.day-column.current-day>header strong { color:#ead2b8; }.week-task { display:flex; flex-direction:column; align-items:flex-start; gap:9px; width:100%; margin:7px 0; padding:11px 9px; border:1px solid color-mix(in srgb,var(--accent) 20%,transparent); border-radius:10px; background:color-mix(in srgb,var(--accent) 6%,transparent); text-align:left; }.week-task>span:first-child { color:var(--accent); font-size:8px; }.week-task strong { color:#d9e2e7; font-size:10px; line-height:1.5; font-weight:450; }.week-task .owner { font-size:8px; }.week-task .owner>span { width:18px; height:18px; font-size:8px; }.weekly-job { color:#c7bc9e; }.weekly-job svg { width:13px; }.open-day { padding:10px 4px; color:#6e8895; font-size:10px; }
.page-grid,.link-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }.page-card { display:block; min-width:0; padding:22px; }.page-card-icon { display:block; color:var(--accent); margin-bottom:20px; }.page-card>small { color:#8fa4ae; font-size:9px; }.page-card h3 { font-size:16px; font-weight:480; line-height:1.4; margin:10px 0; }.page-card>p { color:#a4b4bc; line-height:1.7; font-family:Georgia,serif; font-size:12px; white-space:pre-line; height:100px; overflow:hidden; margin:15px 0; }.page-card footer { display:flex; justify-content:space-between; color:#89a0ab; font-size:9px; border-top:1px solid #ffffff0d; padding-top:14px; }.page-card footer svg { width:14px; }
.document-panel { padding:clamp(20px,4vw,50px); background:linear-gradient(130deg,#e6dcc309,#ffffff03); }.page-editor { display:block; width:100%; min-height:480px; resize:vertical; border:0; outline:0; background:transparent; color:#d6dad6; font-family:Georgia,serif; font-size:17px; line-height:1.85; }
.people-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.person-card { padding:27px; }.person-avatar { display:grid; place-items:center; width:58px; height:58px; margin-bottom:23px; border:1px solid #e3b29744; border-radius:19px; background:linear-gradient(135deg,#a67c6955,#91797c25); color:#f4dac4; font:25px Georgia,serif; }.person-avatar.you { background:linear-gradient(135deg,#9b8cc055,#8177a125); border-color:#b1a7d744; color:#ddd6ee; }.person-card h2 { margin:0; font-size:26px; }.person-card p { color:#a5b4bc; font-size:12px; line-height:1.6; }.person-counts { display:flex; gap:30px; padding:19px 0 25px; }.person-counts span { color:#8da3af; font-size:10px; }.person-counts b { display:block; margin-bottom:7px; color:#e3e6e3; font-size:22px; font-weight:450; }
.shared-agreement { display:flex; align-items:center; gap:20px; padding:24px; margin-top:20px; }.small-symbol { display:grid; place-items:center; width:44px; height:44px; border:1px solid #ffffff12; border-radius:13px; flex:none; color:#c9b8a4; }.shared-agreement h2 { margin:0; font-size:16px; }.shared-agreement p { max-width:620px; color:#9fb3be; font-size:12px; line-height:1.6; }.coordinator-note { padding:20px; }.coordinator-note>p { color:#a4b6c0; font-size:12px; line-height:1.6; margin:0 0 15px; }
.link-card { position:relative; padding:24px; }.link-icon { color:#b8c7c8; display:block; margin-bottom:24px; }.link-card>.icon-button { position:absolute; top:15px; right:15px; }.link-card>a { display:block; font-size:16px; font-weight:500; line-height:1.4; }.link-card>p { color:#a0b3bc; font-size:12px; line-height:1.6; min-height:40px; }.link-card>small { color:#89a0ac; font-size:10px; }
.settings-panel { padding:25px; max-width:780px; margin-bottom:17px; }.settings-panel h2 { margin:0 0 20px; font-size:18px; }.settings-panel>p { color:#a6b8c1; font-size:12px; line-height:1.7; }.settings-panel>.solid { margin-top:15px; }.range-label { display:flex; justify-content:space-between; align-items:center; color:#b5c3c8; gap:20px; font-size:12px; padding-bottom:20px; }.range-label input { accent-color:#d5ba9d; width:45%; }.switch-label { display:flex; align-items:center; gap:10px; font-size:12px; color:#c1cdd1; }.switch-label input { accent-color:#bea790; width:16px; height:16px; }.help-copy { font-size:10px!important; color:#89a0ab!important; margin-top:16px; }.error-note { color:#efb99b!important; }.activity-feed { margin:0; padding:0; list-style:none; }.activity-feed li { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid #ffffff0c; color:#bfccd2; font-size:11px; }.activity-feed time { font-size:9px; color:#829eae; flex:none; }
.empty-state { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:35px 20px; text-align:center; color:#a4b7c1; font-size:12px; }.empty-state svg { color:#c5b39b; }.empty-state p { margin:0; }
dialog { color:var(--ink); background:rgba(26,39,47,.96); border:1px solid #ffffff26; border-radius:19px; box-shadow:0 32px 100px #0009,inset 0 1px #ffffff12; backdrop-filter:blur(35px); }
dialog::backdrop { background:#07101866; backdrop-filter:blur(5px); }
.command-palette { width:min(600px,calc(100vw - 32px)); max-height:min(650px,80vh); padding:0; margin:12vh auto 0; }
.command-search { display:flex; align-items:center; gap:12px; padding:19px 21px; border-bottom:1px solid #ffffff15; }.command-search>span { color:#98abb5; }.command-search input { flex:1; min-width:0; background:transparent; border:0; outline:0; font-size:14px; }.command-search>button { background:transparent; padding:5px; }
#search-results { padding:12px; max-height:480px; overflow:auto; }.search-label { color:#8da5b2; text-transform:uppercase; letter-spacing:1.3px; font-size:9px; margin:4px 11px 12px; }.search-result { display:flex; align-items:center; gap:13px; width:100%; padding:12px 10px; border-radius:10px; background:transparent; color:#dce4e7; text-align:left; }.search-result>span:nth-child(2) { flex:1; min-width:0; }.search-result strong { display:block; font-size:12px; font-weight:450; }.search-result small { display:block; margin-top:4px; color:#8fa6b2; font-size:10px; }.result-icon { display:grid; place-items:center; width:29px; height:29px; background:#ffffff08; border:1px solid #ffffff10; border-radius:8px; color:#b9c5c6; }.result-icon svg { width:14px; }.search-result>svg { width:14px; color:#7d98a7; }.search-result:focus-visible { outline:0; background:#ffffff0d; }.command-footer { display:flex; gap:20px; font-size:9px; color:#809ba9; border-top:1px solid #ffffff0b; padding:13px 22px; }.no-results { padding:20px 10px; color:#a2b6c1; font-size:12px; line-height:1.7; }
.editor-dialog { width:min(590px,calc(100vw - 28px)); max-height:calc(100dvh - 40px); padding:26px; overflow:auto; }.editor-dialog header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:24px; }.editor-dialog h2 { font-size:25px; margin:0; }.editor-dialog .overline { font-size:9px; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:17px; }.form-grid>label { display:flex; flex-direction:column; min-width:0; gap:8px; color:#aebfc8; font-size:11px; }.form-grid .field-wide { grid-column:1/-1; }.form-grid input,.form-grid select,.form-grid textarea { width:100%; padding:10px 11px; border:1px solid #ffffff1a; border-radius:9px; outline:0; background:#10222d66; color:#dce5e9; font-size:13px; min-height:39px; }.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus { border-color:#d6b99b77; box-shadow:0 0 0 3px #d6b99b0c; }.form-grid input[type=color] { padding:5px; }.form-grid textarea { resize:vertical; line-height:1.6; }.editor-dialog footer { display:flex; justify-content:flex-end; gap:9px; margin-top:22px; }.form-error { color:#f3b9a0; font-size:12px; }
.toast { position:fixed; z-index:20; bottom:29px; left:50%; transform:translateX(-50%); display:flex; align-items:center; justify-content:space-between; gap:25px; min-width:240px; max-width:calc(100vw - 30px); padding:13px 17px; border:1px solid #ffffff26; border-radius:12px; background:#283c46; box-shadow:0 10px 40px #0005; color:#e8e9e3; font-size:12px; }.toast button { border-radius:6px; padding:4px 7px; color:#e7c6a5; background:#ffffff08; }
@media (hover:hover) and (pointer:fine) { .icon-button:hover,.rail-shortcut:hover,.pin:hover,.search-result:hover { background:#ffffff0c; color:#f3f2eb; }.small-button:hover,.outline-button:hover,.search-trigger:hover { background-color:#ffffff15; border-color:#ffffff33; }.solid:hover { background:#efd9c1; }.project-card:hover { transform:translateY(-2px); background-color:#ffffff03; border-color:#ffffff29; }.task-check:hover { background:#e4d3bb22; border-color:#d7c2a4; }.task-info:hover strong { color:white; }.destination:hover { color:#fff; }.segments button:hover,.segments>a:hover { color:#fff; } }
button:active,.small-button:active,.destination:active { transform:scale(.97); }.task-check:active { transform:none; }
@media (prefers-reduced-motion:no-preference) { dialog[open] { animation:dialog-in .22s var(--soft); } @keyframes dialog-in { from { opacity:0; transform:scale(.96); } to { opacity:1; transform:scale(1); } } }
@media (max-width:1190px) { .desktop-shell { grid-template-columns:225px minmax(0,1fr); }.stage-scroll { padding:27px 25px 40px; }.project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.project-grid.home-projects { grid-template-columns:repeat(2,minmax(0,1fr)); }.home-projects .project-card>p { min-height:36px; }.home-columns { grid-template-columns:1fr; }.note-panel .shared-note { min-height:150px; }.home-banner { padding:23px; }.banner-projects { gap:10px; }.banner-projects .mini-landscape { width:55px; }.banner-projects span:not(.mini-landscape) { max-width:110px; line-height:1.5; }.job-grid,.page-grid,.link-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px) { .desktop-shell { inset:14px; grid-template-columns:195px minmax(0,1fr); }.workspace-rail { padding:17px 10px 10px; }.brand { padding-left:3px; }.brand-caption { font-size:9px; }.search-trigger { padding:0 8px; }.search-trigger kbd { display:none; }.destination span { font-size:9px; }.stage-bar { padding:0 20px; }.save-state { display:none; }.stage-scroll { padding:24px 20px; }.home-banner { align-items:flex-start; }.banner-projects { display:none; }.page-heading { flex-wrap:wrap; }.project-summary { flex-direction:column; align-items:flex-start; gap:18px; }.project-summary>div:last-child { display:flex; align-items:center; gap:20px; }.people-grid { grid-template-columns:1fr; }.owner { font-size:9px; }.task-date { font-size:9px; }.task-row { gap:8px; }.filter-bar { flex-wrap:wrap; } }
@media (max-width:650px) { .desktop-shell { position:fixed; inset:7px; grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); border-radius:17px; }.workspace-rail { border-right:0; border-bottom:1px solid var(--line); padding:11px 12px 8px; }.brand { padding:0; font-size:17px; gap:7px; }.brand-symbol { font-size:26px; }.brand-caption { display:none; }.brand-dots { margin-left:5px; }.search-trigger { position:absolute; top:10px; right:49px; width:43px; height:34px; min-height:34px; justify-content:center; padding:0; }.search-trigger>span:nth-child(2) { display:none; }.destination-grid { grid-template-columns:repeat(6,minmax(0,1fr)); margin-top:9px; gap:3px; }.destination { height:47px; gap:5px; }.destination svg { width:16px; height:16px; }.destination span { font-size:8px; }.destination-highlight { border-radius:9px; }.rail-scroll,.rail-footer .profile { display:none; }.rail-footer { position:absolute; top:10px; right:10px; margin:0; padding:0; border:0; }.rail-footer .icon-button { width:32px; height:34px; }.workspace-stage { min-height:0; }.stage-bar { height:49px; padding:0 15px; gap:8px; }.breadcrumb { font-size:10px; gap:7px; }.stage-actions { gap:0; }.stage-actions .small-button { min-height:30px; font-size:10px; padding:0 9px; }.stage-scroll { height:calc(100% - 49px); padding:24px 16px 35px; }h1 { font-size:33px; }.page-heading { margin-bottom:21px; gap:15px; }.heading-actions .outline-button { font-size:10px; }.home-banner { padding:20px; min-height:130px; }.home-banner h2 { font-size:23px; }.home-columns { gap:14px; }.list-panel { padding:17px 12px 5px; }.task-row { padding:14px 0; gap:9px; }.task-info strong { font-size:11px; }.task-info small { font-size:8px; }.task-date { font-size:9px; }.owner>span { width:21px; height:21px; font-size:8px; }.project-grid,.project-grid.home-projects,.job-grid,.page-grid,.link-grid { grid-template-columns:1fr; }.project-card>p,.home-projects .project-card>p { min-height:0; }.project-card { padding:20px; }.home-projects .project-card { padding:20px; }.home-projects .project-title { font-size:17px; }.home-projects .category-label { display:block; }.home-projects .project-card>p { font-size:12px; }.home-projects .project-progress { font-size:10px; }.home-projects .owner { font-size:10px; }.section-heading h2 { font-size:16px; }.section-heading>a { font-size:9px; }.task-list { padding:3px 12px; }.filter-select { flex:1; justify-content:flex-end; }.list-tools { flex-wrap:wrap; }.list-search { flex:1; }.list-search input { width:100%; }.list-tools>span { font-size:9px; }.tab-bar { gap:18px; }.tab-bar>a { font-size:11px; }.tab-bar .small-button { font-size:10px; padding:0 8px; }.week-grid { grid-template-columns:repeat(7,160px); }.form-grid { grid-template-columns:1fr; }.field-wide { grid-column:auto!important; }.editor-dialog { padding:20px; }.settings-panel { padding:21px; }.range-label input { width:40%; }.shared-agreement { align-items:flex-start; gap:13px; padding:19px; }.shared-agreement h2 { line-height:1.4; }.document-panel { padding:22px; }.page-editor { font-size:16px; }.toast { bottom:18px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition-duration:0s!important; scroll-behavior:auto!important; }button:active,.small-button:active,.destination:active,.project-card:hover { transform:none!important; } }
.desktop-shell[hidden],.access-screen[hidden] { display:none; }
.access-screen { position:fixed; inset:0; z-index:4; display:grid; place-items:center; padding:20px; }
.access-card { width:min(100%,480px); padding:clamp(26px,5vw,48px); border:1px solid #ffffff38; border-radius:22px; background:#1c2a33ed; color:#e8eeee; box-shadow:0 26px 80px #0008; }
.access-card h1 { margin:6px 0 12px; font-size:clamp(30px,5vw,46px); }
.access-card p { color:#c2d0d2; line-height:1.6; }
.access-card label { display:grid; gap:9px; margin:26px 0 17px; font-size:13px; }
.access-card input { width:100%; min-height:46px; padding:10px 13px; border:1px solid #ffffff55; border-radius:10px; color:#fff; background:#111e27; font:inherit; }
.access-card button { margin:8px 8px 0 0; }
.access-mark { font-size:38px; color:#e3c4a8; }
.calm *,.calm *::before,.calm *::after { animation:none!important; transition-duration:0s!important; scroll-behavior:auto!important; }.calm button:active,.calm .small-button:active,.calm .destination:active,.calm .project-card:hover { transform:none!important; }

.welcome-card { width:min(100%,560px); background:linear-gradient(145deg,#354344f5,#1c2a33f5); }
.welcome-card .access-mark svg { width:42px; height:42px; }
.welcome-card h1 { max-width:360px; }
.welcome-details { display:grid; gap:12px; margin:25px 0; padding:20px 0; border-block:1px solid #ffffff18; }
.welcome-details span { display:flex; align-items:center; gap:12px; color:#d5dfda; font-size:13px; }
.welcome-details svg { width:18px; height:18px; color:#e3c4a8; }
.member-directory ul { list-style:none; padding:0; margin:20px 0 0; }
.member-directory li { display:flex; align-items:center; gap:12px; padding:15px 0; border-top:1px solid #ffffff15; }
.directory-avatar { display:grid; place-items:center; flex:none; width:36px; height:36px; border-radius:12px; background:#e3c4a817; color:#e3c4a8; font:18px Georgia,serif; }
.member-directory li>span:nth-child(2) { min-width:0; flex:1; }
.member-directory strong { display:block; font-size:13px; font-weight:500; }
.member-directory small { display:block; margin-top:5px; color:#a6b8c1; font-size:11px; overflow-wrap:anywhere; }
.private-badge { color:#a9bfb1; font-size:10px; flex:none; }
@media(max-width:650px) { .private-badge { display:none; } .welcome-card { max-height:calc(100dvh - 24px); overflow:auto; padding:25px; } .access-screen { padding:12px; } }

.chat-panel { padding:20px; max-width:850px; }
.chat-shared-label { display:flex; align-items:center; gap:9px; padding:0 0 16px; color:#e3c4a8; font-size:12px; border-bottom:1px solid #ffffff17; }
.chat-shared-label svg { width:18px; height:18px; }
.chat-feed { display:flex; flex-direction:column; align-items:flex-start; gap:14px; max-height:48vh; min-height:150px; overflow-y:auto; padding:20px 2px; }
.chat-feed>.empty-state { align-self:center; }
.chat-message { max-width:90%; min-width:160px; padding:14px 17px; border:1px solid #ffffff13; border-radius:16px 16px 16px 4px; background:#ffffff06; }
.chat-own { align-self:flex-end; border-radius:16px 16px 4px 16px; border-color:#e3c4a826; background:#e3c4a810; }
.chat-message header { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.chat-message strong { font-size:12px; font-weight:550; color:#e3c4a8; }
.chat-message time { font-size:10px; color:#a6b8c1; }
.chat-message p { margin:9px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; line-height:1.6; }
#family-chat-form { border-top:1px solid #ffffff17; padding-top:18px; }
#family-chat-form label { display:block; font-size:12px; color:#bfccd2; margin-bottom:10px; }
#chat-draft { width:100%; resize:vertical; min-height:85px; max-height:220px; padding:13px; border:1px solid #ffffff25; border-radius:12px; background:#10222d66; color:#e8eeee; font:inherit; line-height:1.6; }
.chat-compose-footer { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:10px; }
.chat-compose-footer small,.chat-status { color:#a6b8c1; font-size:11px; line-height:1.5; }
.chat-status { min-height:16px; margin-bottom:0; }
@media(max-width:650px) { .destination-grid.has-family-chat { grid-template-columns:repeat(7,minmax(0,1fr)); } .has-family-chat .destination span { font-size:7.5px; white-space:normal; text-align:center; } .chat-panel { padding:15px; } .chat-message { max-width:95%; } .chat-compose-footer { flex-wrap:wrap; } .chat-compose-footer button { margin-left:auto; } }

@media(display-mode:standalone) { .desktop-shell { top:max(7px,env(safe-area-inset-top)); right:max(7px,env(safe-area-inset-right)); bottom:max(7px,env(safe-area-inset-bottom)); left:max(7px,env(safe-area-inset-left)); } .access-screen { padding-top:max(12px,env(safe-area-inset-top)); padding-bottom:max(12px,env(safe-area-inset-bottom)); } }
