@import "https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..600;1,400..600&family=Figtree:wght@400;500;600;700&display=swap";.app-shell{background:var(--cream-soft);min-height:100vh}.app-header{z-index:25;background:var(--cream);border-bottom:2px solid var(--ink);justify-content:space-between;align-items:center;height:64px;padding:0 1.1rem;display:flex;position:sticky;top:0}.app-icon-btn{color:var(--ink);cursor:pointer;background:0 0;border:none;padding:.3rem;display:flex}.app-avatar{background:var(--ink);width:34px;height:34px;color:var(--cream);font-family:var(--serif);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:600;text-decoration:none;display:flex}.app-header-brand{align-items:center;display:flex}.app-brand{font-family:var(--serif);letter-spacing:.09em;color:var(--ink);font-size:1.5rem;font-weight:600}.app-body{position:relative}.app-backdrop{z-index:30;background:#17150f73;position:fixed;inset:0}.app-sidebar{background:var(--ink);width:260px;max-width:82vw;color:var(--cream);z-index:40;flex-direction:column;padding:.6rem 0 1.25rem;transition:transform .22s;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.app-sidebar.open{transform:translate(0)}.app-sidebar-top{justify-content:flex-end;padding:0 .6rem .5rem;display:flex}.app-close-btn{color:#f5f0dcbf}.app-sidebar-nav{flex-direction:column;flex:1;gap:.15rem;display:flex}.app-sidebar-nav a{color:#f5f0dcc7;align-items:center;gap:.7rem;padding:.7rem 1.1rem;font-size:.95rem;font-weight:500;text-decoration:none;display:flex}.app-sidebar-nav a:hover{color:var(--cream);background:#f5f0dc0f}.app-sidebar-nav a.active{background:var(--lavender);color:var(--lavender-ink)}.app-nav-badge{color:#fff;background:#e2867a;border-radius:999px;margin-left:auto;padding:.1rem .45rem;font-size:.72rem;font-weight:700;line-height:1.4}.app-sidebar-footer{border-top:1px solid #f5f0dc24;padding:.6rem 0 0}.app-logout{cursor:pointer;color:#e2867a;background:0 0;border:none;align-items:center;gap:.7rem;width:100%;padding:.7rem 1.1rem;font-family:inherit;font-size:.95rem;font-weight:500;display:flex}.app-logout:hover{background:#f5f0dc0f}.app-content{padding:1.5rem 1.1rem 3rem}@media (width>=860px){.app-header{padding:0 1.1rem 0 0}.app-header-brand{background:var(--ink);border-right:2px solid var(--ink);width:260px;height:100%;padding:0 1.1rem}.app-header-brand .app-brand{color:var(--cream)}.app-menu-btn-mobile{display:none}.app-body{display:flex}.app-backdrop{display:none}.app-sidebar{flex-shrink:0;max-width:none;height:calc(100vh - 64px);padding-top:0;position:sticky;top:64px;transform:none}.app-sidebar-top{display:none}.app-content{flex:1;min-width:0;max-width:900px;padding:2.5rem 3rem}}.auth-header{background:var(--cream);flex-shrink:0;padding:.75rem 1.25rem}.auth-header-brand{font-family:var(--serif);letter-spacing:.06em;color:var(--ink);font-size:1.3rem;font-weight:600;text-decoration:none}.auth-split{height:100vh;display:flex;overflow:hidden}.auth-left{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:50%;min-width:0;height:100%;display:flex;overflow-y:auto}.auth-left::-webkit-scrollbar{display:none}.auth-left .hero{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;margin:0 auto;padding:.75rem 1.25rem;display:flex}.auth-right{background:var(--ink);height:100%;color:var(--cream);flex:50%;align-items:center;padding:3rem 3.5rem;display:none;position:relative;overflow:hidden}.auth-right-glow{background:radial-gradient(circle, var(--green-soft) 0%, transparent 70%);opacity:.55;border-radius:50%;width:480px;height:480px;position:absolute;top:-20%;right:-10%}.auth-right:after{content:"";background:radial-gradient(circle, var(--lavender) 0%, transparent 70%);opacity:.16;border-radius:50%;width:380px;height:380px;position:absolute;bottom:-25%;left:-15%}.auth-right-content{z-index:1;max-width:420px;position:relative}.auth-right-content .eyebrow{color:var(--lavender)}.auth-right-content h2{font-family:var(--serif);color:var(--cream);margin:.5rem 0 1rem;font-size:2.4rem;line-height:1.15}.auth-right-sub{color:#f5f0dcb8;margin:0 0 1.75rem;font-size:.98rem;line-height:1.55}.auth-right-points{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.auth-right-points li{color:var(--cream);padding-left:1.5rem;font-size:.92rem;position:relative}.auth-right-points li:before{content:"";background:var(--lavender);border-radius:50%;width:8px;height:8px;position:absolute;top:.45em;left:0}@media (width>=860px){.auth-right{display:flex}}.password-field{position:relative}.password-field input{width:100%;padding-right:2.3rem!important}.password-toggle{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:.3rem;display:flex;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.password-toggle:hover{color:var(--ink)}:root{--cream:#f5f0dc;--cream-soft:#faf7ea;--ink:#17150f;--ink-soft:#4a4636;--green:#0b4a3c;--green-soft:#0f5c4a;--lavender:#e9d5f5;--lavender-ink:#2a1330;--border:#17150f1f;--border-soft:#f5f0dc29;--serif:"EB Garamond", Georgia, serif;--sans:"Figtree", system-ui, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:150%;font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);margin:0}img{max-width:100%;display:block}button{font-family:inherit}a{color:inherit}.card{border:1px solid var(--border);overflow-wrap:anywhere;background:#fff;border-radius:14px;padding:1.5rem}.auth-card{padding:1.15rem 1.4rem 1.3rem}.auth-card .field{gap:.2rem;margin-bottom:.5rem}.auth-card .field input,.auth-card .field select{padding:.5rem .7rem}.auth-card .btn-primary{padding:.6rem 1.5rem;font-size:1rem}.field{flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}.field label{color:var(--ink-soft);font-size:.82rem;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--border);background:var(--cream-soft);font-size:.95rem;font-family:var(--sans);border-radius:8px;padding:.65rem .8rem}.field textarea{resize:vertical;min-height:90px}.btn-ghost{background:var(--cream-soft);color:var(--ink);border:1px solid var(--border)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.error-text{color:#9c3b3b;margin:.25rem 0 .75rem;font-size:.85rem}.empty-state{color:var(--ink-soft);text-align:center;padding:2rem 0;font-size:.92rem}.stat-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-row .stat-tile{border:1px solid var(--border);background:#fff;border-radius:14px;padding:1.25rem}.stat-row .value{font-family:var(--serif);font-size:1.8rem;font-weight:600}.stat-row .label{color:var(--ink-soft);font-size:.8rem}.task-list{flex-direction:column;gap:.9rem;display:flex}.task-row{border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:1.1rem 1.4rem;text-decoration:none;display:flex}.task-row:hover{border-color:var(--green)}.task-row-filled{opacity:.6}.task-row .task-info{flex:auto;min-width:0}.task-row .task-info h3{font-family:var(--serif);overflow-wrap:anywhere;margin:0 0 .25rem;font-size:1.1rem}.task-row .task-info p{color:var(--ink-soft);overflow-wrap:anywhere;max-width:480px;margin:0;font-size:.88rem}.task-row .task-cta{flex-direction:column;align-items:flex-end;gap:.4rem;display:flex}.task-row .task-reward{color:var(--green);white-space:nowrap;font-weight:700}.task-row .task-claim{background:var(--green);color:#fff;white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.3rem .75rem;font-size:.78rem;font-weight:600;display:inline-flex}.task-row:hover .task-claim{background:var(--green-soft)}.table-scroll{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:480px;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.7rem .5rem}th{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.task-instructions{color:var(--ink-soft);overflow-wrap:anywhere;line-height:1.6}.task-instructions p{margin:0 0 .85rem}.task-instructions h2,.task-instructions h3{font-family:var(--serif);color:var(--ink);margin:1rem 0 .5rem}.task-instructions ul,.task-instructions ol{margin:0 0 .85rem;padding-left:1.4rem}.task-instructions li{margin-bottom:.3rem}.task-instructions blockquote{border-left:3px solid var(--border);color:var(--ink-soft);margin:0 0 .85rem;padding-left:.9rem}.task-instructions a{color:var(--green)}.task-instructions strong{color:var(--ink)}.chat-thread{flex-direction:column;gap:.6rem;max-height:60vh;margin-bottom:1rem;padding:.5rem .25rem;display:flex;overflow-y:auto}.chat-bubble-row{justify-content:flex-start;display:flex}.chat-bubble-row.mine{justify-content:flex-end}.chat-bubble{border:1px solid var(--border);background:#fff;border-radius:14px;max-width:75%;padding:.6rem .85rem}.chat-bubble p{white-space:pre-wrap;margin:0 0 .2rem;font-size:.92rem}.chat-bubble-time{color:var(--ink-soft);font-size:.7rem}.chat-bubble-mine{background:var(--green);color:#fff;border-color:var(--green)}.chat-bubble-mine .chat-bubble-time{color:#ffffffb3}.chat-bubble-theirs{background:var(--cream-soft)}.chat-input-row{gap:.6rem;display:flex}.chat-input-row input{border:1px solid var(--border);background:var(--cream-soft);font-size:.95rem;font-family:var(--sans);border-radius:8px;flex:1;padding:.65rem .8rem}.badge{border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-pending{color:#8a6a1c;background:#f3ecd6}.badge-approved{color:var(--green);background:#e2efe9}.badge-rejected{color:#9c3b3b;background:#f6e6e6}.back-link{color:var(--ink-soft);margin-bottom:1.25rem;font-size:.88rem;text-decoration:none;display:inline-block}.back-link:hover{color:var(--ink)}
