*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#f6f7f9;color:#1b2430}.boot{display:flex;align-items:center;justify-content:center;height:100vh;color:#5b6472}.login-screen{display:flex;align-items:center;justify-content:center;height:100vh}.login-card{background:#fff;border-radius:12px;padding:32px;width:320px;box-shadow:0 1px 2px #1b24300f,0 8px 24px -12px #1b243033}.login-header{text-align:center;margin-bottom:20px}.login-logo{font-size:36px}.login-title{margin:8px 0 2px;font-size:1.4rem}.login-sub{color:#5b6472;margin:0;font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:14px}.login-field{display:flex;flex-direction:column;gap:4px}.login-label{font-size:.85rem;color:#5b6472}.login-input,.item-edit-input,.checklist-name-input{padding:8px 10px;border:1px solid #dde2e7;border-radius:8px;font-size:1rem}.login-error{color:#b23b3b;font-size:.85rem;margin:0}.login-btn{padding:10px;border:none;border-radius:8px;background:#2c6e63;color:#fff;font-size:1rem;cursor:pointer}.login-btn:disabled{opacity:.6;cursor:default}.app{display:flex;flex-direction:column;height:100vh}.topbar{display:flex;align-items:center;gap:16px;padding:10px 18px;background:#fff;border-bottom:1px solid #dde2e7}.brand{font-weight:600;font-size:1.1rem}.spacer{flex:1}.who{color:#5b6472;font-size:.9rem}.btn-ghost{background:none;border:1px solid #dde2e7;border-radius:8px;padding:6px 12px;cursor:pointer;font-size:.9rem}.btn-menu-toggle{display:none;border:none;background:none;font-size:1.3rem;line-height:1;cursor:pointer;padding:4px 6px}.main{flex:1;display:flex;overflow:hidden;position:relative}.checklist-list{width:260px;flex-shrink:0;background:#fff;border-right:1px solid #dde2e7;padding:14px;overflow-y:auto}.sidebar-backdrop{display:none}@media (max-width: 720px){.btn-menu-toggle{display:inline-flex;align-items:center}.main{overflow:visible}.checklist-list{position:fixed;top:0;left:0;bottom:0;z-index:20;width:80vw;max-width:300px;transform:translate(-100%);transition:transform .2s ease-out;box-shadow:2px 0 12px #1b243026}.checklist-list-open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#1b243059;z-index:15}}.checklist-list h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#8a93a0;margin:18px 0 6px}.btn-new{width:100%;padding:9px;border:none;border-radius:8px;background:#2c6e63;color:#fff;cursor:pointer;font-size:.9rem}.checklist-search{width:100%;margin-top:10px;padding:7px 10px;border:1px solid #dde2e7;border-radius:8px;font-size:.9rem}.checklist-entry{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;padding:8px 10px;border:none;border-radius:8px;background:none;cursor:pointer;margin-bottom:2px}.checklist-entry:hover{background:#eef1f4}.checklist-entry-active{background:#e4eeec}.checklist-entry-name{font-size:.92rem}.checklist-entry-meta{font-size:.75rem;color:#8a93a0}.board{flex:1;overflow-y:auto;padding:24px 32px}.checklist-view{max-width:640px}.checklist-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.checklist-header h2{margin:0;cursor:text}.checklist-name-input{font-size:1.3rem;font-weight:600}.shared-tag{color:#8a93a0;font-size:.85rem}.checklist-header-actions{margin-left:auto;display:flex;gap:8px}.checklist-header-actions button{border:1px solid #dde2e7;background:#fff;border-radius:8px;padding:6px 12px;cursor:pointer;font-size:.85rem}.empty-hint{color:#8a93a0;font-size:.9rem}.item-tree{margin-bottom:14px}.item-row{display:flex;align-items:center;gap:8px;padding:4px 0}.item-checked .item-text{text-decoration:line-through;color:#8a93a0}.item-text{cursor:text;flex:1;min-width:0}.item-edit-input{flex:1;min-width:0;font-size:1rem}.item-actions{display:flex;gap:2px}.item-actions button{border:none;background:none;cursor:pointer;font-size:.85rem;color:#5b6472;padding:2px 6px;border-radius:4px}.item-actions button:hover{background:#eef1f4}.item-actions button:disabled{opacity:.3;cursor:default}.item-actions .danger{color:#b23b3b}.item-add-form{display:flex;gap:8px;padding:4px 0}.item-add-form input{flex:1;padding:6px 8px;border:1px solid #dde2e7;border-radius:6px;font-size:.9rem}.item-add-form button{border:none;background:#eef1f4;border-radius:6px;padding:6px 12px;cursor:pointer}.item-add-root{max-width:320px;margin-top:10px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1b243066;display:flex;align-items:center;justify-content:center;z-index:10}.modal-card{background:#fff;border-radius:12px;padding:24px;width:360px;display:flex;flex-direction:column;gap:12px}.modal-card h2{margin:0 0 4px;font-size:1.15rem}.new-checklist-form{display:flex;flex-direction:column;gap:14px}.new-checklist-form label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:#5b6472}.new-checklist-form input,.new-checklist-form select{padding:8px 10px;border:1px solid #dde2e7;border-radius:8px;font-size:1rem;color:#1b2430}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.modal-actions button,.modal-close{padding:8px 14px;border-radius:8px;border:1px solid #dde2e7;background:#fff;cursor:pointer}.modal-actions button[type=submit]{background:#2c6e63;color:#fff;border:none}.share-list{display:flex;flex-direction:column;gap:6px;max-height:160px;overflow-y:auto}.share-row{display:flex;align-items:center;justify-content:space-between;font-size:.9rem}.share-row button{border:none;background:none;cursor:pointer}.share-form{display:flex;gap:8px}.share-form input{flex:1;padding:8px 10px;border:1px solid #dde2e7;border-radius:8px}.share-form button{border:none;background:#2c6e63;color:#fff;border-radius:8px;padding:8px 14px;cursor:pointer}.danger{color:#b23b3b}
