.earl-helpdesk{position:fixed;right:16px;bottom:88px;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:10px;font-family:inherit}.earl-toggle{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border:0;border-radius:999px;background:var(--coral, #e07a5f);color:#fff;cursor:pointer;box-shadow:0 8px 24px #00000040;font:inherit;font-size:13px;font-weight:600}.earl-toggle img{width:40px;height:40px;border-radius:50%;object-fit:cover}.earl-panel{width:min(320px,calc(100vw - 32px));padding:14px;border-radius:16px;background:var(--paper, #fff8f0);color:var(--ink, #1c1917);box-shadow:0 12px 32px #00000038}.earl-panel-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.earl-panel-header img{width:40px;height:40px;border-radius:50%;object-fit:cover}.earl-panel-header strong{font-size:14px}.earl-messages{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto;margin-bottom:10px}.earl-bubble{margin:0;padding:8px 10px;border-radius:12px;font-size:13px;line-height:1.4}.earl-bubble-earl{background:#e07a5f29;align-self:flex-start}.earl-bubble-user{background:var(--ink, #1c1917);color:#fff;align-self:flex-end}.earl-compose{display:flex;gap:8px}.earl-compose input{flex:1;min-width:0;padding:8px 10px;border:1px solid rgba(28,25,23,.18);border-radius:999px;background:#fff;color:inherit;font:inherit;font-size:13px}.earl-compose button{border:0;border-radius:999px;padding:8px 12px;background:var(--coral, #e07a5f);color:#fff;font:inherit;font-size:13px;font-weight:600;cursor:pointer}:root{--paper: #faf6ee;--paper-raised: #ffffff;--ink: #22314f;--teal: #2f6f62;--coral: #e1622f;--pencil: #8a8578;--rule: #d9cfb8;--font-display: "Fraunces", Georgia, serif;--font-body: "Inter", system-ui, sans-serif;--radius: 6px;--tab-width: 220px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:600;margin:0}button{font-family:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.app-shell{display:flex;min-height:100vh}.binder{width:var(--tab-width);flex-shrink:0;background:var(--paper-raised);border-right:1px solid var(--rule);position:relative;padding:28px 0}.binder:before{content:"";position:absolute;left:14px;top:0;bottom:0;width:1px;background:repeating-linear-gradient(to bottom,var(--rule) 0,var(--rule) 6px,transparent 6px,transparent 26px)}.binder-brand{font-family:var(--font-display);font-size:1.4rem;padding:0 28px 24px;letter-spacing:-.01em}.binder-brand span{color:var(--coral)}.binder-tab{display:block;width:calc(100% - 12px);text-align:left;padding:12px 16px 12px 28px;margin-bottom:4px;border:none;background:transparent;border-radius:0 var(--radius) var(--radius) 0;cursor:pointer;font-size:.95rem;color:var(--ink);border-left:4px solid transparent;text-decoration:none}.binder-tab:hover{background:var(--paper)}.binder-tab.active{background:var(--paper);border-left-color:var(--coral);font-weight:600}.binder-tab .swatch{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}.ledger{flex:1;padding:36px 44px;max-width:1000px}.ledger-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}.ledger-header h1{font-size:2rem}.btn{font-family:var(--font-body);font-weight:600;font-size:.9rem;padding:10px 18px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:#1a2540}.btn-ghost{background:transparent;border-color:var(--rule);color:var(--ink)}.btn-ghost:hover{background:var(--paper-raised)}.btn-danger{background:transparent;color:var(--coral);border-color:var(--coral)}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.filter-row select,.filter-row input{font-family:var(--font-body);padding:8px 10px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-raised);color:var(--ink);font-size:.88rem}.lesson-card{display:block;background:var(--paper-raised);border:1px solid var(--rule);border-left:4px solid var(--pencil);border-radius:var(--radius);padding:16px 18px;margin-bottom:12px;text-decoration:none;color:var(--ink)}.lesson-card:hover{border-color:var(--ink)}.lesson-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.lesson-card h3{font-size:1.05rem}.lesson-meta{font-size:.82rem;color:var(--pencil);margin-top:4px}.tag{display:inline-block;font-size:.72rem;padding:2px 8px;border-radius:999px;background:var(--paper);border:1px solid var(--rule);color:var(--pencil);margin-right:6px}.empty-state{border:1px dashed var(--rule);border-radius:var(--radius);padding:40px 24px;text-align:center;color:var(--pencil)}.plan-form{display:grid;gap:16px;max-width:720px}.plan-form label{display:block;font-size:.82rem;font-weight:600;color:var(--pencil);margin-bottom:6px;text-transform:uppercase;letter-spacing:.03em}.plan-form input,.plan-form select,.plan-form textarea{width:100%;font-family:var(--font-body);padding:10px 12px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-raised);color:var(--ink);font-size:.95rem}.plan-form textarea{min-height:90px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-actions{display:flex;gap:10px;margin-top:8px}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.week-day{background:var(--paper-raised);border:1px solid var(--rule);border-radius:var(--radius);min-height:140px;padding:10px}.week-day-label{font-size:.75rem;color:var(--pencil);margin-bottom:8px;font-weight:600}.week-day .lesson-chip{display:block;font-size:.78rem;padding:6px 8px;border-radius:4px;background:var(--paper);border-left:3px solid var(--pencil);margin-bottom:6px;text-decoration:none;color:var(--ink)}@media print{.binder,.no-print{display:none!important}.app-shell{display:block}.ledger{padding:0;max-width:none}body{background:#fff}}@media (max-width: 860px){.app-shell{flex-direction:column}.binder{width:100%;display:flex;overflow-x:auto;padding:12px}.binder:before{display:none}.binder-brand{display:none}.binder-tab{white-space:nowrap;border-radius:var(--radius);border-left:none;border-bottom:3px solid transparent}.binder-tab.active{border-left:none;border-bottom-color:var(--coral)}.ledger{padding:24px 20px}.form-row,.week-strip{grid-template-columns:1fr}}
