.inspector-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e1b6e00;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);z-index:2100;pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.inspector-overlay.active{background:#1e1b6e33;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto}.inspector-pane{position:absolute;top:0;right:-520px;width:500px;max-width:100vw;height:100%;background:var(--color-surface-card);box-shadow:var(--shadow-modal);transition:right .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden}.inspector-overlay.active .inspector-pane{right:0}.inspector-header{background:var(--color-surface);border-bottom:1px solid rgba(0,0,0,.05)}.inspector-header h3{font-family:var(--font-display);color:var(--color-primary)}.inspector-body{flex-grow:1;overflow-y:auto;background:var(--color-surface-card)}.inspector-body .form-label{font-size:var(--text-label);letter-spacing:.06em;color:var(--color-text-muted)}.inspector-body .form-control,.inspector-body .form-select{background-color:var(--color-surface)!important;border-bottom:2px solid rgba(0,0,0,.05)!important}.inspector-body .form-control:focus,.inspector-body .form-select:focus{border-bottom-color:var(--color-accent)!important}@media (max-width: 576px){.inspector-pane{width:100%}}:root{--fdp-surface: #fcf9f5;--fdp-surface-low: #f6f3ee;--fdp-surface-lowest: #ffffff;--fdp-shadow: 0 12px 40px rgba(30, 27, 110, .06);--fdp-accent: #F5A623;--fdp-text-muted: #6B6B8A;--fdp-primary: #1E1B6E;--font-display: "EB Garamond", serif;--font-body: "Plus Jakarta Sans", sans-serif}.flex-datepicker{background:var(--fdp-surface);border-radius:1rem;box-shadow:var(--fdp-shadow);padding:.5rem;font-family:var(--font-body);max-width:320px;color:var(--fdp-primary);z-index:2100}.flex-datepicker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:0 .25rem}.flex-datepicker-title{font-family:var(--font-display);font-size:1.125rem;font-weight:600}.flex-datepicker-nav{display:flex;gap:.5rem}.flex-datepicker-nav-btn{background:transparent;border:none;cursor:pointer;padding:.25rem;border-radius:50%;transition:background .2s;color:var(--fdp-primary)}.flex-datepicker-nav-btn:hover{background:var(--fdp-surface-low)}.flex-datepicker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.25rem;text-align:center}.flex-datepicker-weekday{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--fdp-text-muted);padding:.25rem 0}.flex-datepicker-grid{display:grid;grid-template-columns:repeat(7,1fr);background:var(--fdp-surface-low);gap:1px;border-radius:.75rem;overflow:hidden}.flex-datepicker-day{background:var(--fdp-surface-lowest);display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;cursor:pointer;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);min-height:36px}.flex-datepicker-day:hover{background:var(--fdp-surface);z-index:1;transform:scale(1.05)}.flex-datepicker-day.selected{background:var(--fdp-primary);color:#fff}.flex-datepicker-day.selected .flex-datepicker-lunar-number{color:#ffffffb3}.flex-datepicker-day.outside-month{background:var(--fdp-surface-low);color:var(--fdp-text-muted);opacity:.5}.flex-datepicker-day.is-today:not(.selected){background:#f0f2ff;font-weight:700}.flex-datepicker-day-number{font-size:.8rem;font-weight:600;position:absolute;top:4px;left:6px}.flex-datepicker-lunar-number{font-size:.5rem;color:var(--fdp-text-muted);position:absolute;bottom:4px;right:6px}.flex-datepicker-day.lunar-1st:not(.selected) .flex-datepicker-lunar-number,.flex-datepicker-day.lunar-15th:not(.selected) .flex-datepicker-lunar-number{color:var(--fdp-accent);font-weight:800}.flex-datepicker-month-grid,.flex-datepicker-year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.25rem}.flex-datepicker-month-item,.flex-datepicker-year-item{background:var(--fdp-surface-lowest);padding:.75rem .25rem;text-align:center;border-radius:.5rem;cursor:pointer;font-weight:500;transition:all .2s;border:1px solid transparent;font-size:.85rem}.flex-datepicker-month-item:hover,.flex-datepicker-year-item:hover{background:var(--fdp-surface-low)}.flex-datepicker-month-item.selected,.flex-datepicker-year-item.selected{background:var(--fdp-primary);color:#fff}.flex-datepicker-trigger{cursor:pointer}.flex-datepicker-input-wrapper{background:var(--color-surface);border-bottom:2px solid #e0e0e0;border-radius:.3rem;padding:.3rem;display:flex;align-items:center}.flex-datepicker-input-text{font-size:.875rem;color:var(--fdp-primary)}.flex-datepicker-footer{margin-top:.5rem!important}.flex-datepicker-footer label,.flex-datepicker-footer button{font-size:.85rem!important}.tree-container{width:100%;min-height:100%;position:relative}.tree-view-wrapper{width:100%;min-height:calc(100vh - 64px);background-color:var(--color-surface)}.tree-root{list-style:none;display:inline-flex;padding:0;margin:0;width:max-content}.tree-children{list-style:none;position:relative;padding-top:20px;display:flex;justify-content:center;margin:0;width:100%}.tree-node-item{position:relative;padding:20px 10px 0;list-style:none;display:flex;flex-direction:column;align-items:center}.tree-node-item:before,.tree-node-item:after{content:"";position:absolute;top:0;right:50%;border-top:2px solid var(--color-primary-light);width:50%;height:20px;opacity:.5}.tree-node-item:after{right:auto;left:50%;border-left:2px solid var(--color-primary-light)}.tree-node-item:only-child:after,.tree-node-item:only-child:before{display:none}.tree-node-item:only-child{padding-top:0}.tree-node-item:first-child:before,.tree-node-item:last-child:after{border:0 none}.tree-node-item:last-child:before{border-right:2px solid var(--color-primary-light);border-radius:0 5px 0 0}.tree-node-item:first-child:after{border-radius:5px 0 0}.couple-container{gap:0px;padding-bottom:10px}.couple-container.no-children{padding-bottom:0}.couple-container:after{content:"";position:absolute;bottom:0;left:50%;border-left:2px solid var(--color-primary-light);width:0;height:25px;z-index:1;opacity:.5}.couple-container.no-children:after{display:none}.partner-connector{height:2px;background-color:var(--color-primary-light);opacity:.5}.person-card{min-width:160px;max-width:180px;background:#fff;border-radius:12px;border:1px solid #000;z-index:10;box-shadow:var(--shadow-card);transition:all .3s cubic-bezier(.4,0,.2,1)}.person-card.male{border-top:4px solid var(--color-primary-light)}.person-card.female{border-top:4px solid #C0392B}.person-card:hover{transform:translateY(-5px);box-shadow:0 12px 24px #1e1b6e26!important}.person-card.selected{border-color:var(--color-accent)!important;box-shadow:0 0 15px #f5a6234d!important}.is-compact .person-card .full-name{display:none}.is-compact .person-card .short-name{display:block!important}.is-compact .person-card small{display:none}.is-compact .person-card{min-width:80px!important;padding:4px!important}.short-name{display:none}.btn-white{background-color:#fff;color:#212529}.btn-white:hover{background-color:#f8f9fa;color:#212529}.summary-node{border:2px dashed var(--color-primary-light);background:var(--color-surface);color:var(--color-primary);padding:8px 12px;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;min-width:120px;text-align:center;z-index:10;transition:all .2s}.summary-node:hover{background:var(--color-primary-light);color:#fff;transform:scale(1.05)}.calendar-page{font-family:var(--font-body)}.calendar-grid-container{background:var(--color-surface-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.calendar-main-header{background:var(--color-primary);border-bottom:1px solid rgba(255,255,255,.1)}.calendar-current-date{font-family:var(--font-display)}.calendar-grid-header{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-weight:700;font-size:var(--text-label);text-transform:uppercase;letter-spacing:.05em;background:var(--color-primary);color:#fff;padding:12px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);background:#00000005;gap:1px}.calendar-cell{height:120px;background:#fff;padding:10px;position:relative;cursor:pointer;transition:all .2s ease}.calendar-cell:hover{background:var(--color-surface);z-index:2}.calendar-cell.empty{background:#00000005;cursor:default}.calendar-cell.selected{background:var(--color-surface);box-shadow:inset 0 0 0 2px var(--color-primary-light);z-index:3}.calendar-cell.has-events:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-accent)}.gregorian-day{font-weight:700;font-size:1.125rem;color:var(--color-text-primary)}.lunar-day{position:absolute;bottom:10px;right:10px;font-size:.75rem;font-weight:600;color:var(--color-text-muted)}.lunar-day.special-lunar-day{color:var(--color-accent);font-weight:700}.event-dot{width:6px;height:6px;background:var(--color-accent);border-radius:50%;margin:6px auto 0;box-shadow:0 0 5px #f5a62380}.event-list-card{border:none;box-shadow:var(--shadow-card);border-radius:var(--radius-card)}.event-item{border-bottom:1px solid rgba(0,0,0,.05);padding:12px 0}.event-item:last-child{border-bottom:none}@media (max-width: 768px){.calendar-cell{height:80px;padding:6px}.gregorian-day{font-size:.9rem}.lunar-day{font-size:.65rem;bottom:4px;right:4px}}.social-shell{display:flex;flex-direction:column;min-height:100vh}.main-wrapper{flex-grow:1;display:flex;flex-direction:column;min-height:100vh}.top-bar{height:64px;background-color:var(--color-primary);border-bottom:none}.main-canvas{flex-grow:1;background:#f0f2f5;min-height:calc(100vh - 64px)}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000}.bottom-nav-item{color:var(--color-text-muted)!important;transition:all .2s}.bottom-nav-item.active{color:var(--color-primary)!important}.bottom-nav-item.active i{color:var(--color-accent)}@media (max-width: 768px){.admin-sidebar{transform:translate(-220px)}.sidebar-open .admin-sidebar{transform:translate(0)}.main-wrapper{margin-left:0!important}.top-bar{left:0!important}.main-canvas{padding:1.5rem;padding-bottom:80px}}.timeline-feed{max-width:700px;margin:0 auto}.feed-card{border:none;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:24px;transition:transform .2s}.feed-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.feed-card-header{padding:16px;display:flex;align-items:center;border-bottom:1px solid #f0f0f0}.feed-card-type-icon{width:40px;height:40px;border-radius:50%;background-color:#f8f9fa;display:flex;align-items:center;justify-content:center;margin-right:12px;color:#555}.feed-card-meta{flex-grow:1}.feed-card-title{font-weight:600;font-size:1.1rem;margin-bottom:2px}.feed-card-date{font-size:.85rem;color:#888}.feed-card-body{padding:16px}.feed-card-image-grid{display:grid;gap:4px;margin-top:12px;border-radius:8px;overflow:hidden}.feed-card-image-grid.grid-1{grid-template-columns:1fr}.feed-card-image-grid.grid-1 .feed-card-image{height:auto;max-height:500px;width:100%}.feed-card-image-grid.grid-2{grid-template-columns:1fr 1fr}.feed-card-image-grid.grid-2 .feed-card-image{height:300px}.feed-card-image-grid.grid-3{grid-template-columns:1fr 1fr;grid-template-rows:200px 200px}.feed-card-image-grid.grid-3 .feed-card-image:first-child{grid-row:span 2;height:404px}.feed-card-image-grid.grid-3 .feed-card-image{height:200px}.feed-card-image-grid.grid-4{grid-template-columns:1fr 1fr;grid-template-rows:200px 200px}.feed-card-image-grid.grid-4 .feed-card-image{height:200px}.feed-card-image{width:100%;object-fit:cover}.feed-card-footer{padding:12px 16px;background-color:#fafafa;border-top:1px solid #f0f0f0;display:flex;gap:16px}.feed-action{color:#666;text-decoration:none;font-size:.9rem;display:flex;align-items:center;gap:4px}.feed-action:hover{color:#007bff}.tagged-people{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}.person-tag{background-color:#e9ecef;padding:4px 10px;border-radius:16px;font-size:.85rem;color:#495057}.story-content{line-height:1.6;color:#333}.story-content p{margin-bottom:1rem}.story-content p:last-child{margin-bottom:0}.story-content ul,.story-content ol{margin-bottom:1rem;padding-left:1.5rem}:root{--color-primary: #1E1B6E;--color-primary-deep: #13104F;--color-primary-light: #3D3A9C;--color-accent: #F5A623;--color-accent-warm: #FFC85A;--color-surface: #FFFDF7;--color-surface-card: #FFFFFF;--color-text-primary: #1A1A2E;--color-text-muted: #6B6B8A;--color-text-on-primary: #FFFFFF;--font-display: "EB Garamond", serif;--font-body: "Plus Jakarta Sans", sans-serif;--text-display: 3rem;--text-headline-l: 2rem;--text-headline-m: 1.5rem;--text-title: 1.125rem;--text-body: .9375rem;--text-label: .75rem;--text-nav: .875rem;--radius-card: .75rem;--radius-button: .5rem;--radius-banner: 1rem;--shadow-card: 0 4px 20px rgba(30, 27, 110, .08);--shadow-modal: 0 20px 40px rgba(30, 27, 110, .12)}body{background-color:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-body);margin:0}h1,h2,h3,.headline-l,.headline-m{font-family:var(--font-display)}.regal-indigo{min-height:100vh}.card{border:none!important;background:var(--color-surface-card)!important;box-shadow:var(--shadow-card)!important;border-radius:var(--radius-card)!important}.btn-primary{background-color:var(--color-primary)!important;border:none!important;padding:.75rem 1.5rem!important;border-radius:var(--radius-button)!important;color:#fff!important;font-family:var(--font-body);font-weight:600}.btn-primary:hover{background-color:var(--color-primary-deep)!important}.btn-cta{background-color:var(--color-accent)!important;border:none!important;padding:.75rem 1.5rem!important;border-radius:var(--radius-button)!important;color:var(--color-primary)!important;font-family:var(--font-body);font-weight:700}.btn-cta:hover{background-color:var(--color-accent-warm)!important}@media (max-width: 767.98px){.btn-full-sm{width:100%!important}}.form-control{border:none!important;border-bottom:2px solid #e0e0e0!important;border-radius:0!important;padding-left:0!important;padding-right:0!important;background-color:transparent!important}.form-control:focus{box-shadow:none!important;border-bottom-color:var(--color-accent)!important}.text-display{font-size:var(--text-display);line-height:1.2;letter-spacing:-.01em;font-family:var(--font-display)}.headline-l{font-size:var(--text-headline-l);line-height:1.2;font-family:var(--font-display)}.headline-m{font-size:var(--text-headline-m);line-height:1.2;font-family:var(--font-display)}.text-label{font-size:var(--text-label);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.hero-banner{background:linear-gradient(135deg,#1e1b6e,#13104f);border-radius:var(--radius-banner);color:#fff;padding:3rem;box-shadow:var(--shadow-card)}.hero-banner h2{font-family:var(--font-display);font-size:var(--text-headline-m);margin-bottom:1rem}.hero-banner p{opacity:.8;font-size:var(--text-body);margin-bottom:2rem;max-width:600px}.feature-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.feature-card:hover{transform:translateY(-8px);box-shadow:0 12px 30px #1e1b6e26!important}.icon-circle{width:48px;height:48px;background:var(--color-primary-light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:1.5rem}.feature-card .card-title{font-family:var(--font-body);font-weight:700;font-size:var(--text-title);color:var(--color-text-primary);margin-bottom:.75rem}.feature-card .card-description{color:var(--color-text-muted);font-size:var(--text-body);line-height:1.6}.feature-card .card-link{color:var(--color-accent);text-decoration:none;font-size:var(--text-label);font-weight:600;letter-spacing:.06em;margin-top:auto;display:flex;align-items:center}.person-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;color:#fff;flex-shrink:0}.person-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.person-avatar.male{background-color:var(--color-primary-light);box-shadow:0 0 10px #3d3a9c33}.person-avatar.female{background-color:#c0392b;box-shadow:0 0 10px #c0392b33}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.status-dot.alive{background-color:#27ae60;box-shadow:0 0 5px #27ae6080}.status-dot.deceased{background-color:var(--color-text-muted)}.table-hover-custom tbody tr{border-bottom:1px solid rgba(0,0,0,.03);transition:background-color .2s;cursor:pointer}.table-hover-custom tbody tr:hover{background-color:var(--color-surface)!important}.bg-amber{background-color:var(--color-accent)!important;color:var(--color-primary)!important}
