*{box-sizing:border-box}body{color:#25322d;background:#f8f3e8;min-height:100vh;margin:0;font-family:Arial,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{width:min(1180px,100% - 32px);margin:0 auto;padding:28px 0 56px}.auth-shell{place-items:center;min-height:100vh;padding:32px 16px;display:grid}.auth-panel{grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:stretch;gap:20px;width:min(920px,100%);display:grid}.auth-copy,.auth-form{background:#fffdf7eb;border:1px solid #eadfcb;border-radius:8px;box-shadow:0 18px 50px #46372314}.auth-copy{flex-direction:column;justify-content:center;min-height:420px;padding:34px;display:flex}.auth-copy p:last-child{color:#5b665f;margin-top:14px;line-height:1.7}.auth-form{align-content:center;gap:14px;padding:24px;display:grid}.compact-heading{margin-bottom:4px}.link-button{color:#227965;background:0 0;border:0;font-weight:700}.topbar,.dashboard,.manage-panel,.calendar-panel,.today-panel{width:100%}.topbar{justify-content:space-between;align-items:center;gap:20px;padding:18px 0 26px;display:flex}.topbar-actions{align-items:center;gap:10px;display:flex}.user-pill{background:#fffdf7;border:1px solid #eadfcb;border-radius:8px;gap:3px;padding:9px 12px;display:grid}.user-pill span{color:#68746d;font-size:12px}h1,h2,h3,p{margin:0}h1{margin-top:4px;font-size:clamp(38px,6vw,72px);line-height:.95}h2{font-size:24px}h3{font-size:19px}.subtitle{color:#5b665f;max-width:560px;margin-top:12px;line-height:1.7}.eyebrow{color:#e25d48;letter-spacing:0;font-size:13px;font-weight:700}.dashboard{grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:18px;display:grid}.calendar-panel,.today-panel,.manage-panel,.editor,.drawer{background:#fffdf7eb;border:1px solid #eadfcb;border-radius:8px;box-shadow:0 18px 50px #46372314}.calendar-panel,.today-panel,.manage-panel{padding:20px}.panel-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.weekday-row,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.weekday-row{color:#8b7f69;text-align:center;margin-bottom:8px;font-size:12px}.date-cell{color:#3d493f;background:#fffaf0;border:1px solid #efe3cf;border-radius:8px;justify-content:space-between;align-items:flex-start;min-height:72px;padding:10px;text-decoration:none;transition:border-color .16s,background .16s,transform .16s;display:flex;position:relative}.date-cell.muted{opacity:.42}.date-cell.today{background:#e9fbf5;border-color:#39a78e;box-shadow:inset 0 0 0 2px #39a78e26}.date-cell.selected{background:#fff1e8;border-color:#e25d48;transform:translateY(-2px);box-shadow:0 10px 22px #e25d4824}.date-cell.today.selected{background:#e9fbf5;border-color:#39a78e;box-shadow:inset 0 0 0 2px #39a78e38,0 10px 22px #39a78e21}.date-cell b{color:#25322d;background:#ffcf56;border-radius:999px;place-items:center;min-width:24px;height:24px;font-size:12px;display:grid}.deal-card,.manage-row{background:#fffdf7;border:1px solid #ece0cc;border-radius:8px}.deal-card{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:16px;display:flex}.deal-card.compact{display:block}.deal-card.completed-card{color:#4f5f57;background:#f4fbf7;margin-bottom:8px}.deal-card.completed-card h3,.deal-card.completed-card p,.deal-card.completed-card small{color:#6c7972}.deal-content p{color:#59655e;margin-top:8px;line-height:1.55}.deal-content small{color:#7b827d;margin-top:10px;display:block}.deal-meta{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.deal-meta span,.soft-badge{color:#227965;background:#e9f7f2;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.completed-section{border-top:1px dashed #eadfcb;margin-top:20px;padding-top:16px}.section-title{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.section-title span{color:#7b827d;font-size:13px}.completed-list{gap:8px;display:grid}.compact-empty{min-height:72px}.card-actions,.row-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.primary-button,.secondary-button,.complete-button,.icon-button,.scenario-tabs button{border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-weight:700;display:inline-flex}.primary-button{color:#fff;background:#ff7a59;box-shadow:0 10px 24px #e25d483d}.secondary-button,.complete-button{color:#fff;background:#233d35}.complete-button{background:#39a78e}.icon-button{color:#314239;background:#f1eadc;width:40px;padding:0}.icon-button.danger{color:#c64a3d}.manage-panel{margin-top:18px}.manage-list{gap:10px;display:grid}.template-form,.reminder-form{align-items:center;gap:10px;display:flex}.template-form input{max-width:340px}.reminder-form{background:#fff8ea;border:1px solid #e9dbc1;border-radius:8px;flex-wrap:wrap;flex:520px;justify-content:flex-end;padding:10px}.reminder-heading,.reminder-form label{align-items:center;gap:7px;min-height:40px;display:inline-flex}.reminder-heading{color:#263a32;margin-right:auto;font-size:14px;font-weight:800}.reminder-heading strong{color:#227965;background:#e9f7f2;border-radius:999px;padding:4px 8px;font-size:12px}.reminder-form label{color:#68746d;font-size:12px;font-weight:700}.reminder-form input,.reminder-form select{width:auto;min-width:92px}.reminder-toggle{background:#fffdf7;border:1px solid #e3d7c2;border-radius:8px;padding:0 10px}.reminder-toggle input{min-width:0}.compact-button{min-height:38px;padding:0 12px}.save-status{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.save-status.success{color:#227965;background:#e9f7f2}.save-status.error{color:#c64a3d;background:#fff1e8}.passphrase-panel{background:#fffdf7b8;padding:14px 16px}.passphrase-grid,.passphrase-form{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.passphrase-grid{justify-content:space-between}.passphrase-form label{color:#68746d;gap:5px;font-size:12px;font-weight:700;display:grid}.passphrase-form input,.passphrase-form select{min-width:220px}.passphrase-output{resize:vertical;width:100%;min-height:64px;margin-top:10px}.manage-row{justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.manage-row span{color:#68746d;margin-top:5px;font-size:13px;display:block}.empty-state,.empty-copy{color:#637068;text-align:center;place-items:center;gap:10px;min-height:180px;display:grid}.modal-backdrop{z-index:20;background:#25322d4d;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.editor{width:min(760px,100%);max-height:min(92vh,820px);padding:20px;overflow:auto}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}label,.full-label{color:#56625b;gap:7px;font-size:13px;font-weight:700;display:grid}input,select,textarea{color:#25322d;background:#fffaf2;border:1px solid #e3d7c2;border-radius:8px;width:100%;padding:11px 12px}textarea{resize:vertical;min-height:96px}.full-label,.option-group,.month-day-grid{margin-top:12px}.option-group,.month-day-grid{flex-wrap:wrap;gap:8px;display:flex}.option-group span{color:#56625b;width:100%;font-size:13px;font-weight:700}.option-group label,.month-day-grid label{background:#fffaf2;border:1px solid #eadfcb;border-radius:999px;align-items:center;gap:5px;padding:7px 10px;display:inline-flex}.option-group input,.month-day-grid input{width:auto}.wide{width:100%;margin-top:16px}.drawer{z-index:15;width:min(430px,100%);height:100vh;padding:22px;position:fixed;inset:0 0 0 auto;overflow:auto}.scenario-tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.scenario-tabs button{color:#34443c;background:#f1eadc}.scenario-tabs button.active{background:#ffcf56}@media (max-width:860px){.topbar,.dashboard,.deal-card,.manage-row,.auth-panel{display:block}.dashboard{grid-template-columns:1fr;display:grid}.auth-copy{min-height:auto;margin-bottom:14px;padding:24px}.topbar-actions,.template-form,.reminder-form{flex-direction:column;align-items:stretch}.reminder-heading{margin-right:0}.reminder-form label{justify-content:space-between}.topbar .primary-button,.card-actions,.row-actions{margin-top:14px}.template-form input,.reminder-form input,.reminder-form select{width:100%;max-width:none}.form-grid{grid-template-columns:1fr}.date-cell{min-height:56px;padding:7px}}
