@charset "UTF-8";
/* Coffee palette: espresso, roasted caramel, oat milk and porcelain. */
:root {
    --ink:#30231d;
    --muted:#705d51;
    --paper:#f7f2eb;
    --white:#fffdf9;
    --line:#dfd2c5;
    --border-strong:#947b67;
    --primary:#56382b;
    --primary-hover:#39251e;
    --light:#eee3d5;
    --accent:#ba7147;
    --focus:#a45225;
    --error:#912c23;
    --radius:16px;
    --shadow:0 12px 36px rgb(71 43 29 / 6%);
    color-scheme:light;
}
* {
    box-sizing:border-box
}
body {
    margin:0;
    background:radial-gradient(ellipse at top right, #efe1ce 0, transparent 55%), var(--paper);
    color:var(--ink);
    font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
a {
    color:var(--primary);
    text-underline-offset:4px
}
button,input,textarea,select {
    font:inherit
}
button,a,input,textarea,select,summary {
    outline-offset:4px
}
:focus-visible {
    outline:3px solid var(--focus)
}
h1,h2,h3,p {
    margin-top:0
}
h1 {
    font-size:clamp(2rem,5vw,3.4rem);
    line-height:1.15;
    letter-spacing:-.035em;
    font-family:Georgia,"Times New Roman",serif;
    font-weight:500;
    margin-bottom:18px
}
h2 {
    font-size:1.4rem;
    line-height:1.3;
    letter-spacing:-.025em
}
h3 {
    font-size:1.2rem;
    line-height:1.4
}
.container {
    max-width:1120px;
    margin:0 auto;
    padding:36px 32px
}
.site-header {
    border-bottom:1px solid #654635;
    background:#30231d;
    color:#fff7ec;
    box-shadow:0 4px 24px rgb(48 35 29 / 8%)
}
.header-inner {
    max-width:1120px;
    margin:auto;
    padding:20px 32px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px
}
.brand {
    font-weight:800;
    font-size:1.35rem;
    text-decoration:none;
    letter-spacing:-.04em
}
.brand span {
    font-weight:400;
    margin-left:5px
}
.site-header nav {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:20px
}
.site-header nav a {
    min-height:44px;
    display:flex;
    align-items:center;
    text-decoration:none
}
.site-header nav form {
    margin:0
}
.text-button {
    background:none;
    border:0;
    color:var(--primary);
    cursor:pointer;
    min-height:44px;
    padding:8px 0
}
.skip-link {
    position:absolute;
    left:8px;
    top:-100px;
    background:var(--primary);
    color:white;
    padding:12px;
    z-index:10
}
.skip-link:focus {
    top:8px
}
.hero {
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
    gap:72px;
    align-items:center;
    padding:60px 0 72px
}
.hero h1 {
    font-size:clamp(2.7rem,6vw,4.6rem)
}
.eyebrow {
    font-size:.75rem;
    letter-spacing:.16em;
    font-weight:750;
    color:var(--muted);
    margin-bottom:18px
}
.lead {
    font-size:1.2rem;
    max-width:540px;
    color:var(--muted)
}
.muted,.help {
    color:var(--muted);
    font-size:.9rem
}
.actions {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
    margin:18px 0
}
.actions form {
    margin:0
}
.button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    background:var(--primary);
    border:1px solid var(--primary);
    border-radius:12px;
    color:white;
    padding:12px 20px;
    min-height:48px;
    text-decoration:none;
    font-weight:650;
    cursor:pointer;
    line-height:1.4
}
.button:hover {
    background:var(--primary-hover);
    color:white
}
.button.secondary {
    background:transparent;
    color:var(--primary);
    border-color:var(--border-strong)
}
.button.secondary:hover {
    background:var(--light)
}
.button.compact {
    padding:8px 14px;
    min-height:44px
}
.button:disabled {
    cursor:wait;
    opacity:.65
}
.preview-card {
    background:var(--white);
    padding:32px;
    border:1px solid var(--line);
    border-radius:24px;
    border-top:4px solid var(--accent);
    box-shadow:0 24px 64px rgb(71 43 29 / 12%);
    transform:rotate(1deg)
}
.preview-card h2 {
    font-size:1.8rem
}
.sample-task {
    padding:18px 0;
    margin:0;
    border-bottom:1px solid var(--line);
    display:flex;
    gap:15px
}
.sample-task span {
    background:var(--light);
    width:28px;
    height:28px;
    text-align:center;
    border-radius:50%;
    color:var(--primary)
}
.sample-task.pending span {
    background:var(--paper)
}
.preview-foot {
    margin-top:24px;
    color:var(--muted);
    font-size:.9rem
}
.feature-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:36px;
    padding:40px 0;
    border-top:1px solid var(--line)
}
.step-number {
    color:#8b4f2e;
    font-size:.85rem;
    display:block;
    margin-bottom:12px
}
.feature-grid p {
    color:var(--muted)
}
.footer {
    border-top:1px solid var(--line);
    display:flex;
    justify-content:space-between;
    gap:24px;
    font-size:.8rem;
    color:var(--muted);
    margin-top:64px
}
.narrow {
    max-width:620px;
    margin:24px auto 60px
}
.stack {
    display:flex;
    flex-direction:column;
    gap:10px
}
.stack label {
    margin-top:10px
}
.stack .button {
    align-self:flex-start;
    margin-top:16px
}
label {
    display:block;
    font-weight:600
}
input,textarea,select {
    width:100%;
    background:var(--white);
    color:var(--ink);
    border:1px solid var(--border-strong);
    border-radius:8px;
    min-height:48px;
    padding:10px 12px
}
textarea {
    resize:vertical
}
input:invalid:not(:placeholder-shown):not(:focus) {
    box-shadow:none
}
.help {
    margin:0 0 10px
}
.validation {
    color:var(--error)
}
.validation:has(li) {
    background:#fff0eb;
    border:1px solid #ddb6ac;
    padding:12px 20px;
    border-radius:10px;
    margin-bottom:20px
}
.validation ul {
    margin:0;
    padding-left:20px
}
.notice {
    padding:18px 24px;
    border:1px solid #c4a98c;
    background:var(--light);
    border-radius:12px;
    margin-bottom:24px
}
.notice h2 {
    margin-bottom:8px
}
.page-heading {
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:center;
    margin:20px 0 32px
}
.page-heading h1 {
    margin-bottom:12px
}
.page-heading p:last-child {
    margin-bottom:0
}
.location-switch {
    max-width:320px;
    display:flex;
    gap:8px;
    flex-wrap:wrap
}
.location-switch label {
    width:100%;
    font-size:.8rem;
    color:var(--muted)
}
.location-switch select {
    flex:1;
    min-width:180px
}
.workspace-nav {
    display:flex;
    gap:24px;
    flex-wrap:wrap;
    margin:-10px 0 30px
}
.workspace-nav a {
    min-height:44px;
    display:flex;
    align-items:center
}
.workspace-nav span {
    align-self:center
}
.summary-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    margin-bottom:40px;
    background:var(--white)
}
.summary-grid>div {
    padding:22px 28px;
    border-right:1px solid var(--line);
    display:flex;
    flex-direction:column;
    color:var(--muted)
}
.summary-grid>div:last-child {
    border-right:0
}
.metric {
    font-size:2rem;
    font-weight:750;
    color:var(--ink);
    line-height:1.3
}
.section-heading {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:20px
}
.checklist-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px
}
.checklist-card {
    background:var(--white);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:24px;
    color:var(--ink);
    text-decoration:none;
    transition:border-color .15s
}
.checklist-card:hover {
    border-color:var(--primary)
}
.card-top {
    display:flex;
    justify-content:space-between;
    gap:16px;
    font-size:.8rem;
    color:var(--muted);
    margin-bottom:20px
}
.tag {
    background:var(--light);
    border-radius:30px;
    padding:2px 8px
}
.checklist-card h3 {
    font-size:1.5rem;
    margin-bottom:8px
}
.checklist-card p {
    color:var(--muted)
}
.progress-track {
    border-top:3px solid var(--light);
    padding-top:12px;
    font-size:.8rem;
    color:var(--muted)
}
.card-link {
    display:block;
    color:var(--primary);
    font-weight:600;
    margin-top:20px
}
.empty-state {
    border:1px dashed var(--border-strong);
    border-radius:var(--radius);
    text-align:center;
    padding:48px 24px;
    background:#ffffff50
}
.back-link {
    display:inline-flex;
    min-height:44px;
    align-items:center;
    text-decoration:none
}
.list {
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:var(--white);
    overflow:hidden
}
.list-row,.template-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:20px 24px;
    border-bottom:1px solid var(--line);
    color:var(--ink);
    text-decoration:none
}
.list-row:last-child,.template-row:last-child {
    border-bottom:0
}
.list-row p,.template-row p {
    margin:4px 0 0;
    color:var(--muted);
    font-size:.9rem
}
.template-row h2 {
    margin:0
}
.history-section {
    margin-top:40px
}
.completion-pill {
    white-space:nowrap;
    background:var(--light);
    padding:12px 18px;
    border-radius:40px;
    font-weight:650
}
.task-list {
    max-width:780px
}
.task-card {
    padding:26px;
    background:var(--white);
    border:1px solid var(--line);
    border-radius:var(--radius);
    margin-bottom:18px
}
.task-heading {
    display:flex;
    align-items:center;
    gap:18px
}
.task-heading h2 {
    margin:0 0 5px;
    font-size:1.2rem;
    overflow-wrap:anywhere
}
.task-symbol {
    display:flex;
    justify-content:center;
    align-items:center;
    min-width:44px;
    height:44px;
    background:var(--light);
    border-radius:50%;
    font-size:1.5rem
}
.task-status {
    font-size:.8rem;
    color:var(--muted)
}
.task-form {
    margin-top:20px
}
.task-form label {
    font-size:.9rem;
    margin-bottom:8px
}
.task-form .actions {
    margin-bottom:0
}
.task-history,.correction {
    margin-top:20px;
    font-size:.9rem
}
.task-history summary,.correction summary {
    cursor:pointer;
    min-height:44px;
    display:list-item;
    padding-top:8px;
    color:var(--primary)
}
.task-history ol {
    padding-left:20px;
    margin:8px 0
}
.task-history li {
    margin-bottom:12px
}
.note {
    white-space:pre-wrap;
    margin:4px 0 0;
    overflow-wrap:anywhere
}
.panel {
    padding:24px;
    background:var(--white);
    border:1px solid var(--line);
    border-radius:var(--radius);
    margin-bottom:32px
}
.invite-form {
    display:flex;
    align-items:end;
    gap:16px
}
.invite-form>div {
    flex:1
}
.invite-form label {
    margin-bottom:8px
}
@media(max-width:720px) {
    .container {
        padding:28px 20px
    }
    .header-inner {
        padding:14px 20px;
        gap:12px;
        flex-wrap:wrap
    }
    .site-header nav {
        gap:16px;
        font-size:.9rem
    }
    .hero {
        grid-template-columns:minmax(0,1fr);
        gap:30px;
        padding:30px 0 40px
    }
    .preview-card {
        transform:none;
        padding:24px
    }
    .feature-grid {
        grid-template-columns:1fr;
        gap:16px
    }
    .page-heading {
        flex-direction:column;
        align-items:flex-start
    }
    .location-switch {
        max-width:none;
        width:100%
    }
    .summary-grid>div {
        padding:16px 12px;
        font-size:.8rem
    }
    .metric {
        font-size:1.7rem
    }
    .checklist-grid {
        grid-template-columns:1fr
    }
    .section-heading {
        flex-direction:column;
        gap:0;
        margin-bottom:18px
    }
    .template-row,.list-row {
        align-items:flex-start;
        flex-wrap:wrap;
        padding:20px
    }
    .template-row .actions {
        margin:6px 0 0
    }
    .task-card {
        padding:20px
    }
    .completion-pill {
        align-self:flex-start
    }
    .invite-form {
        flex-direction:column;
        align-items:stretch
    }
    .footer {
        flex-direction:column;
        gap:8px;
        margin-top:40px
    }
    .narrow {
        margin-top:16px
    }
    .hero .actions .button {
        width:100%
    }
    .card-top {
        flex-wrap:wrap
    }
}
@media(prefers-reduced-motion:reduce) {
    * {
        transition:none!important;
        scroll-behavior:auto!important
    }
}

/* Shared finishes keep workspace pages and public pages in the same theme. */
.site-header a,.site-header .text-button {
    color:#fff7ec;
}
.site-header nav a:hover,.site-header .text-button:hover {
    color:#edc7a2;
}
.site-header :focus-visible {
    outline-color:#edc7a2;
}
.brand {
    display:inline-flex;
    align-items:center;
    flex-wrap:wrap;
    max-width:100%;
}
.brand::before {
    content:"";
    width:20px;
    height:28px;
    flex-shrink:0;
    margin-right:12px;
    border-radius:50%;
    transform:rotate(30deg);
    background:linear-gradient(100deg,#ddb08b 44%,#30231d 46%,#30231d 54%,#ddb08b 56%);
}
.brand span {
    color:#e7c4a4;
}
.workspace-nav {
    gap:8px;
}
.workspace-nav a {
    padding:8px 16px;
    border:1px solid var(--line);
    border-radius:24px;
    background:var(--white);
    text-decoration:none;
    font-weight:600;
}
.workspace-nav a:hover {
    background:var(--light);
    border-color:var(--border-strong);
}
.summary-grid,.checklist-card,.task-card,.panel,.list {
    box-shadow:var(--shadow);
}
.metric {
    font-family:Georgia,"Times New Roman",serif;
    font-weight:500;
}
.completion-pill {
    border:1px solid var(--line);
}
.button {
    transition:background-color .15s,border-color .15s;
}
::selection {
    background:#e6c5a6;
    color:var(--ink);
}
@media(prefers-reduced-motion:reduce) {
    .button { transition:none; }
}

/* Public product explanations reuse the coffee palette and native controls. */
.sample-shifts {
    margin:20px 0 28px;
    padding:14px 16px;
    border-radius:12px;
    background:var(--light);
    font-size:.9rem;
}
.sample-shifts>div {
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:6px 16px;
    padding:6px 0;
}
.sample-shifts span { color:var(--muted); }
.marketing-intro { max-width:820px; margin:32px 0 56px; }
.hero h1,.marketing-intro h1 { overflow-wrap:break-word; }
.marketing-intro .lead { max-width:700px; }
.marketing-section { margin:0 0 60px; }
.marketing-heading { max-width:730px; margin-bottom:28px; }
.marketing-heading h2,.marketing-cta h2 { font-size:clamp(1.6rem,3vw,2.1rem); }
.marketing-section,.marketing-example,.marketing-cta { overflow-wrap:break-word; }
.marketing-heading p,.product-card>p,.workflow-steps p { color:var(--muted); }
.product-grid,.marketing-example {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px;
}
.product-card {
    display:flex;
    flex-direction:column;
    min-width:0;
    border:1px solid var(--line);
    border-top:4px solid var(--accent);
    border-radius:var(--radius);
    padding:30px;
    background:var(--white);
    box-shadow:var(--shadow);
}
.product-card h3 { font-size:1.5rem; }
.product-card ul,.marketing-example ul { padding-left:22px; margin:0 0 22px; }
.product-card li,.marketing-example li { margin-bottom:10px; }
.product-card .benefit { color:var(--ink); font-weight:600; }
.product-card .button { align-self:flex-start; margin-top:auto; gap:10px; }
.marketing-section .feature-grid { padding:28px 0 12px; }
.workflow-steps {
    padding-left:30px;
    max-width:850px;
}
.workflow-steps li { padding:0 0 22px 12px; }
.workflow-steps li::marker { font-weight:750; color:var(--primary); }
.workflow-steps h3 { margin-bottom:8px; }
.marketing-example { align-items:start; margin:0 0 60px; }
.marketing-example .panel { margin:0; }
.marketing-faq { max-width:850px; }
.marketing-faq details { border-bottom:1px solid var(--line); padding:10px 0; }
.marketing-faq summary { min-height:48px; padding:12px 4px; font-weight:650; cursor:pointer; }
.marketing-faq details p { padding:8px 4px; margin:0; color:var(--muted); }
.marketing-cta { padding:32px; border:1px solid var(--line); border-radius:var(--radius); background:var(--light); }
.marketing-cta .actions { margin-bottom:0; }
.footer nav { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:10px; }
.footer nav a { display:inline-flex; min-height:44px; align-items:center; }
.site-header nav a[aria-current=page] { text-decoration:underline; text-underline-offset:6px; }
@media(max-width:720px) {
    .product-grid,.marketing-example { grid-template-columns:1fr; gap:20px; }
    .product-card { padding:24px; }
    .marketing-intro { margin:24px 0 36px; }
    .marketing-section,.marketing-example { margin-bottom:40px; }
    .marketing-cta { padding:24px; }
    .marketing-cta .button,.product-card .button { width:100%; }
}

.pricing-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pricing-grid h2 { font-size:2.5rem; margin:12px 0; }
.pricing-grid .panel { min-width:0; }
@media(max-width:720px) { .pricing-grid { grid-template-columns:1fr; } }
