.checklist-container{max-width:1400px;margin:0 auto;padding:var(--space-3xl) var(--space-xl)}@media (max-width: 768px){.checklist-container{padding:var(--space-2xl) var(--space-md)}}.checklist-header{background:var(--white);border-radius:24px;padding:var(--space-2xl);margin-bottom:var(--space-2xl);box-shadow:var(--shadow-md);border:1px solid var(--light-gray)}@media (max-width: 768px){.checklist-header{padding:var(--space-xl)}}body.dark-mode .checklist-header{background:var(--dark);border-color:var(--medium);color:var(--light)}.progress-section{margin-bottom:var(--space-xl)}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.progress-title{font-size:1.5rem;font-weight:700;color:var(--navy);margin:0}body.dark-mode .progress-title{color:var(--light)}.progress-stats{display:flex;gap:var(--space-md);align-items:center}.progress-count{font-size:1.125rem;font-weight:600;color:var(--dark-gray)}body.dark-mode .progress-count{color:var(--grey)}.progress-percentage{font-size:1.5rem;font-weight:700;color:var(--gold)}.progress-bar-container{width:100%;height:16px;background:var(--light-gray);border-radius:8px;overflow:hidden;position:relative}body.dark-mode .progress-bar-container{background:var(--medium)}.progress-bar{height:100%;background:var(--grad-gold);border-radius:8px;transition:width .3s ease;width:0%;box-shadow:var(--shadow-gold)}.checklist-actions{display:flex;gap:var(--space-md);flex-wrap:wrap}@media (max-width: 768px){.checklist-actions{flex-direction:column}}.checklist-actions .cs-button-solid,.checklist-actions .cs-button-outline{gap:8px}@media (max-width: 768px){.checklist-actions .cs-button-solid,.checklist-actions .cs-button-outline{width:100%}}.checklist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--space-xl)}@media (max-width: 768px){.checklist-grid{grid-template-columns:1fr;gap:var(--space-lg)}}.checklist-section{background:var(--white);border-radius:20px;padding:var(--space-xl);box-shadow:var(--shadow-md);border:1px solid var(--light-gray);transition:all .3s ease}.checklist-section:hover{box-shadow:var(--shadow-lg)}body.dark-mode .checklist-section{background:var(--dark);border-color:var(--medium)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:2px solid var(--light-gray);gap:var(--space-md)}body.dark-mode .section-header{border-bottom-color:var(--medium)}@media (max-width: 640px){.section-header{gap:var(--space-sm)}}.section-title{font-size:1.25rem;font-weight:700;color:var(--navy);margin:0}body.dark-mode .section-title{color:var(--light)}.section-actions{display:flex;align-items:center;gap:var(--space-sm)}.section-progress{display:flex;align-items:center;gap:var(--space-xs)}.section-count{font-size:.875rem;font-weight:600;color:var(--gold);background:var(--off-white);padding:4px 12px;border-radius:20px}body.dark-mode .section-count{background:var(--medium)}.section-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-sm)}.checklist-item{position:relative}.checkbox-label{display:flex;align-items:flex-start;gap:var(--space-sm);cursor:pointer;padding:var(--space-sm);padding-right:36px;border-radius:8px;transition:all .2s ease;position:relative}.checkbox-label:hover{background:var(--off-white)}body.dark-mode .checkbox-label:hover{background:var(--medium)}.checkbox-input{position:absolute;opacity:0;cursor:pointer}.checkbox-input:checked~.checkbox-custom{background:var(--grad-gold);border-color:var(--gold)}.checkbox-input:checked~.checkbox-custom:after{opacity:1;transform:rotate(45deg) scale(1)}.checkbox-input:checked~.checkbox-text{text-decoration:line-through;color:var(--medium-gray)}.checkbox-custom{width:24px;height:24px;min-width:24px;border:2px solid var(--medium-gray);border-radius:6px;position:relative;transition:all .2s ease;background:var(--white)}.checkbox-custom:after{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid var(--white);border-width:0 3px 3px 0;transform:rotate(45deg) scale(0);opacity:0;transition:all .2s cubic-bezier(.68,-.55,.27,1.55)}body.dark-mode .checkbox-custom{background:var(--medium);border-color:var(--grey)}.checkbox-text{flex:1;color:var(--navy);font-size:.95rem;line-height:1.5;transition:all .2s ease}body.dark-mode .checkbox-text{color:var(--light)}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;backdrop-filter:blur(4px);z-index:1000;align-items:center;justify-content:center;padding:var(--space-md)}.modal.active{display:flex}.modal-content{background:var(--white);border-radius:20px;max-width:500px;width:100%;box-shadow:var(--shadow-xl);animation:modalSlideIn .3s ease}body.dark-mode .modal-content{background:var(--dark);border:1px solid var(--medium)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xl);border-bottom:1px solid var(--light-gray)}.modal-header h3{margin:0;color:var(--navy);font-size:1.5rem;font-weight:700}.modal-close{background:none;border:none;cursor:pointer;color:var(--medium-gray);padding:var(--space-xs);display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.modal-close:hover{background:var(--off-white);color:var(--navy)}.modal-body{padding:var(--space-xl)}.form-label{display:block;font-weight:600;color:var(--navy);margin-bottom:var(--space-xs);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}body.dark-mode .form-label{color:var(--light)}.form-select,.form-input{width:100%;padding:12px 16px;border:2px solid var(--light-gray);border-radius:8px;font-size:1rem;color:var(--navy);margin-bottom:var(--space-md);transition:all .2s ease}.form-select:focus,.form-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #d8a33a1a}body.dark-mode .form-select,body.dark-mode .form-input{background:var(--medium);color:var(--light);border-color:var(--grey)}body.dark-mode .form-select:focus,body.dark-mode .form-input:focus{background:var(--dark);box-shadow:0 0 0 3px #d8a33a33}.modal-footer{display:flex;gap:var(--space-md);padding:var(--space-xl);border-top:1px solid var(--light-gray)}body.dark-mode .modal-footer{border-top-color:var(--medium)}.modal-footer .cs-button-solid,.modal-footer .cs-button-outline{flex:1;gap:8px}@media (max-width: 768px){.modal-footer .cs-button-solid,.modal-footer .cs-button-outline{width:100%}}.remove-item{position:absolute;right:var(--space-sm);top:50%;transform:translateY(-50%);background:none;border:none;color:var(--medium-gray);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;opacity:0;transition:all .2s ease}.remove-item:hover{background:var(--error);color:var(--white)}.checklist-item:hover .remove-item{opacity:1}body.dark-mode .remove-item{color:var(--grey)}body.dark-mode .remove-item:hover{background:var(--error);color:var(--white)}.remove-category{background:none;border:none;color:var(--medium-gray);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;opacity:.5;transition:all .2s ease}.remove-category:hover{opacity:1;background:var(--error);color:var(--white)}body.dark-mode .remove-category{color:var(--grey)}body.dark-mode .remove-category:hover{opacity:1;background:var(--error);color:var(--white)}.add-item-to-category{display:flex;align-items:center;gap:8px;width:100%;padding:12px;margin-top:var(--space-md);background:transparent;border:2px dashed var(--light-gray);border-radius:8px;color:var(--medium-gray);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.add-item-to-category:hover{background:var(--off-white);border-color:var(--gold);color:var(--gold)}.add-item-to-category:hover svg{color:var(--gold)}.add-item-to-category svg{flex-shrink:0;color:var(--medium-gray);transition:color .2s ease}body.dark-mode .add-item-to-category{border-color:var(--medium);color:var(--grey)}body.dark-mode .add-item-to-category:hover{background:var(--medium);border-color:var(--gold);color:var(--gold)}
