:root{--ink:#292629;--muted:#625c60;--paper:#fbf9f7;--surface:#fff;--line:#e9e2df;--berry:#7b3f57;--berry-deep:#592c40;--rose:#d8a6a3;--rose-pale:#f3e8e6;--sage:#718678;--gold:#c59654;--danger:#b04444;--shadow:0 18px 45px rgba(67,42,51,.10);--radius:18px;--sidebar:254px}
*{box-sizing:border-box}html{font-size:17px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,"Segoe UI",sans-serif;line-height:1.55}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}[hidden]{display:none!important}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:700;color:var(--berry)}.eyebrow.light{color:#f6dedb}.muted{color:var(--muted)}.mobile-only{display:none!important}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 80% 10%,#ead5d2 0,transparent 28%),#f6f1ee}.login-card{width:min(980px,100%);min-height:610px;display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden;border-radius:28px;background:#fff;box-shadow:0 30px 90px rgba(73,43,53,.16)}
.login-art{position:relative;overflow:hidden;padding:70px 64px;color:white;background:linear-gradient(145deg,rgba(85,42,59,.94),rgba(130,65,85,.87)),linear-gradient(45deg,#6e344c,#b77d7c)}.login-art:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.17);border-radius:50%;right:-220px;bottom:-165px;box-shadow:0 0 0 45px rgba(255,255,255,.035),0 0 0 90px rgba(255,255,255,.025)}.login-art h1{font:700 clamp(3.5rem,7vw,5.8rem)/.91 "Playfair Display",serif;margin:28px 0 30px}.login-art h1 em{font-size:.6em;color:#e6beb9}.login-art p{max-width:360px;line-height:1.75;color:#f4e9e6}.event-chip{position:absolute;left:64px;bottom:64px;display:flex;align-items:center;gap:12px;padding:10px 18px;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:rgba(255,255,255,.09);backdrop-filter:blur(8px)}.event-chip span{font:700 2.2rem "Playfair Display"}.event-chip small{line-height:1.25}.flower{position:absolute;color:rgba(255,255,255,.13);font-size:8rem}.flower-one{top:-45px;right:-25px}.flower-two{bottom:125px;right:55px;font-size:4rem}.login-form-wrap{padding:68px 58px;display:flex;flex-direction:column;justify-content:center}.brand-mark{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin-bottom:28px;background:var(--berry);color:white;font:700 1.1rem "Playfair Display";box-shadow:0 8px 24px rgba(123,63,87,.25)}.brand-mark.small{width:42px;height:42px;margin:0;font-size:.9rem}.login-form-wrap h2{font:700 2.2rem "Playfair Display",serif;margin:10px 0 4px}.form-stack{display:grid;gap:17px;margin-top:28px}.form-stack label,.modal-fields label{display:grid;gap:7px;font-size:.8rem;font-weight:700;color:#514b4f}.form-stack input,.modal-fields input,.modal-fields select,.modal-fields textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 13px;background:#fff;color:var(--ink);outline:none;transition:.2s}.form-stack input:focus,.modal-fields input:focus,.modal-fields select:focus,.modal-fields textarea:focus{border-color:var(--berry);box-shadow:0 0 0 3px rgba(123,63,87,.1)}.password-field{display:flex;position:relative}.password-field button{position:absolute;right:8px;top:5px;border:0;background:none;padding:7px}.button{border:0;border-radius:10px;padding:11px 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:9px}.button.primary{background:var(--berry);color:#fff}.button.primary:hover{background:var(--berry-deep)}.button.ghost{background:#f4f0ee;color:var(--ink)}.button.danger{background:var(--danger);color:#fff}.button.wide{width:100%;justify-content:space-between;padding:14px 18px}.demo-note{margin-top:24px;border-radius:12px;padding:13px 15px;background:var(--rose-pale);font-size:.73rem;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;color:#695d62}.demo-note strong{grid-column:1/-1;color:var(--berry)}.form-error{color:var(--danger);font-size:.82rem;margin:0}
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--line);z-index:20}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:24px 22px 22px;border-bottom:1px solid var(--line)}.sidebar-brand>div:nth-child(2){display:grid}.sidebar-brand strong{font:700 1.1rem "Playfair Display";color:var(--berry-deep)}.sidebar-brand span{font-size:.72rem;color:var(--muted)}.nav-list{padding:18px 12px;display:grid;gap:5px;overflow:auto}.nav-item{border:0;background:none;border-radius:10px;padding:11px 13px;display:flex;align-items:center;gap:12px;color:#625c60;text-align:left;font-size:.87rem;font-weight:600}.nav-item span{width:22px;text-align:center;color:#9b858d;font-size:1.05rem}.nav-item:hover{background:#faf5f3;color:var(--berry)}.nav-item.active{background:var(--rose-pale);color:var(--berry);font-weight:700}.nav-item.active span{color:var(--berry)}.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding:18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.sidebar-footer>div:nth-child(2){display:grid}.sidebar-footer strong{font-size:.82rem}.sidebar-footer span{font-size:.7rem;color:var(--muted);text-transform:capitalize}.user-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#efe3df;color:var(--berry);font-weight:800}.icon-button{border:0;background:transparent;width:36px;height:36px;border-radius:9px;font-size:1.1rem;color:var(--muted)}.icon-button:hover{background:#f3eeec;color:var(--berry)}
.main-area{margin-left:var(--sidebar);min-height:100vh}.topbar{height:91px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;background:rgba(251,249,247,.93);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}.breadcrumb{margin:0 0 4px;color:var(--muted);font-size:.7rem}.topbar h1{margin:0;font:700 1.55rem "Playfair Display"}.topbar-actions{display:flex;align-items:center;gap:12px}.countdown-pill{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px 13px;background:#fff}.countdown-pill span{font-size:.68rem;color:var(--muted)}.countdown-pill strong{font-size:.82rem;color:var(--berry)}.role-badge{padding:7px 11px;border-radius:30px;background:var(--berry);color:white;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.role-badge.viewer{background:var(--sage)}.page-content{padding:30px 36px 60px;max-width:1480px;margin:auto}.loading-state{height:55vh;display:grid;place-items:center;align-content:center;gap:14px;color:var(--muted)}.spinner{width:30px;height:30px;border:3px solid #eadeda;border-top-color:var(--berry);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.hero-card{position:relative;overflow:hidden;min-height:210px;padding:34px;border-radius:var(--radius);color:#fff;background:linear-gradient(110deg,rgba(84,43,59,.98),rgba(139,74,92,.88)),linear-gradient(45deg,#613047,#c7918e);box-shadow:var(--shadow)}.hero-card:after{content:"RA";position:absolute;right:40px;top:-30px;font:700 12rem "Playfair Display";color:rgba(255,255,255,.055)}.hero-card .eyebrow{color:#eac8c4}.hero-card h2{font:700 2.3rem "Playfair Display";margin:10px 0}.hero-card p{color:#eedfdd;margin:0}.hero-meta{display:flex;flex-wrap:wrap;gap:20px;margin-top:30px}.hero-meta span{font-size:.79rem;display:flex;gap:7px}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}.stat-card{padding:20px;background:#fff;border:1px solid var(--line);border-radius:14px}.stat-card .stat-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.73rem}.stat-card .stat-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--rose-pale);color:var(--berry)}.stat-card strong{display:block;font:700 1.65rem "Playfair Display";margin-top:10px}.stat-card small{color:var(--muted)}.content-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:21px}.panel+.panel{margin-top:18px}.panel-header,.section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-header h3,.section-header h2{margin:0;font:700 1.18rem "Playfair Display"}.panel-header p,.section-header p{margin:4px 0 0;font-size:.75rem;color:var(--muted)}.mini-link{border:0;background:none;color:var(--berry);font-size:.75rem;font-weight:700}.progress-wrap{margin-top:18px}.progress-meta{display:flex;justify-content:space-between;font-size:.72rem;margin-bottom:7px}.progress-track{height:7px;background:#eee8e5;border-radius:20px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--berry),var(--rose));border-radius:20px}.timeline-mini{display:grid;gap:14px}.timeline-row{display:grid;grid-template-columns:70px 12px 1fr;gap:10px;align-items:start}.timeline-time{font-size:.75rem;color:var(--berry);font-weight:700}.timeline-dot{width:9px;height:9px;margin-top:4px;border-radius:50%;background:var(--rose);box-shadow:0 0 0 4px var(--rose-pale)}.timeline-row strong{font-size:.82rem}.timeline-row small{display:block;color:var(--muted);margin-top:2px}.decision-list{display:grid;gap:10px}.decision-item{padding:12px;border-radius:11px;background:#faf7f5;border:1px solid #f0e9e5}.decision-item strong{font-size:.8rem}.decision-item p{margin:4px 0 0;font-size:.73rem;color:var(--muted)}
.page-section{margin-bottom:26px}.section-header{margin-bottom:15px}.header-actions{display:flex;gap:9px}.search-input{min-width:220px;border:1px solid var(--line);border-radius:9px;padding:9px 12px;background:white}.table-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:11px 15px;text-align:left;background:#faf7f5;color:#756a6e;font-size:.67rem;text-transform:uppercase;letter-spacing:.06em}.data-table td{padding:12px 15px;border-top:1px solid var(--line);font-size:.8rem;vertical-align:top}.data-table tr:hover td{background:#fdfbfa}.table-actions{white-space:nowrap;text-align:right}.action-btn{border:0;background:none;color:var(--berry);font-weight:700;font-size:.72rem;padding:5px}.action-btn.delete{color:var(--danger)}.empty-state{padding:34px;text-align:center;color:var(--muted);font-size:.82rem}.status{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:20px;background:#f1e6df;color:#8a5c48;font-size:.65rem;font-weight:800;text-transform:uppercase}.status.done{background:#e3eee7;color:#497158}.balance-due{display:block;margin-top:6px;color:#a13d3d;font-size:.72rem;font-weight:800;white-space:nowrap}.money{font-variant-numeric:tabular-nums;font-weight:700}.summary-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.summary-strip.finance-summary{grid-template-columns:repeat(4,1fr)}.summary-box{padding:16px;border:1px solid var(--line);background:#fff;border-radius:12px}.summary-box span{display:block;color:var(--muted);font-size:.7rem}.summary-box strong{font:700 1.25rem "Playfair Display";color:var(--berry-deep)}.menu-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.menu-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.menu-card h3{margin:0 0 12px;font:700 1.05rem "Playfair Display"}.menu-row{display:flex;justify-content:space-between;align-items:start;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.menu-row:first-of-type{border-top:0}.menu-row strong{font-size:.8rem}.menu-row small{display:block;color:var(--muted);margin-top:3px}.event-details{display:grid;grid-template-columns:1fr 1fr;gap:15px}.detail-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:20px}.detail-card.full{grid-column:1/-1}.detail-label{display:block;color:var(--muted);font-size:.7rem;margin-bottom:5px}.detail-value{font-weight:700}.schedule-tabs{display:flex;gap:6px;margin-bottom:14px}.tab-button{border:1px solid var(--line);background:#fff;padding:8px 12px;border-radius:8px;font-size:.75rem;font-weight:700;color:var(--muted)}.tab-button.active{background:var(--berry);border-color:var(--berry);color:#fff}
.checklist-overview{display:grid;grid-template-columns:220px 1fr;gap:18px}.checklist-index{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;height:max-content;position:sticky;top:112px}.checklist-index button{width:100%;border:0;background:none;text-align:left;padding:9px 10px;border-radius:8px;color:var(--muted);font-size:.72rem}.checklist-index button.active,.checklist-index button:hover{background:var(--rose-pale);color:var(--berry);font-weight:700}.checklist-groups{display:grid;gap:14px}.checklist-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.checklist-card-head{padding:17px 18px;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);background:#fdfbfa}.checklist-card h3{margin:0;font:700 1rem "Playfair Display"}.leader-meta{display:flex;gap:12px;margin-top:5px;color:var(--muted);font-size:.7rem}.check-items{padding:7px 17px 13px}.check-row{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid #f2ece9}.check-row:last-child{border:0}.check-row input{width:18px;height:18px;accent-color:var(--berry)}.check-row span{font-size:.79rem}.check-row.done span{text-decoration:line-through;color:#9b9497}.check-card-footer{padding:11px 17px;background:#faf7f5;display:flex;justify-content:space-between;align-items:center;font-size:.7rem;color:var(--muted)}
.modal{border:0;padding:0;border-radius:18px;width:min(570px,calc(100% - 28px));box-shadow:0 28px 90px rgba(48,30,37,.25)}.modal::backdrop{background:rgba(39,28,32,.55);backdrop-filter:blur(3px)}.modal-card{padding:25px;margin:0}.modal-header{display:flex;justify-content:space-between;align-items:start}.modal-header h2{margin:5px 0 0;font:700 1.4rem "Playfair Display"}.modal-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.modal-fields label.full{grid-column:1/-1}.modal-fields textarea{min-height:84px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.confirm-modal{text-align:center;width:min(410px,calc(100% - 28px))}.confirm-icon{margin:0 auto 12px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#f7e5e5;color:var(--danger);font-weight:800}.toast-region{position:fixed;right:20px;bottom:20px;z-index:100;display:grid;gap:10px}.toast{min-width:260px;padding:13px 15px;border-radius:11px;background:#332d30;color:#fff;box-shadow:var(--shadow);font-size:.8rem;animation:toast-in .25s ease}.toast.error{background:var(--danger)}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}}
@media(max-width:1050px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.menu-columns{grid-template-columns:1fr 1fr}.login-card{grid-template-columns:1fr 1fr}.login-art,.login-form-wrap{padding:48px 38px}.event-chip{left:38px;bottom:45px}}
@media(max-width:760px){.mobile-only{display:grid!important}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(33,24,28,.42);z-index:15}.sidebar.open+.sidebar-overlay{display:block}.main-area{margin-left:0}.topbar{height:76px;padding:0 16px;gap:10px}.topbar h1{font-size:1.18rem}.breadcrumb,.countdown-pill span{display:none}.countdown-pill{padding:7px 9px}.page-content{padding:20px 15px 45px}.login-card{display:block;min-height:auto}.login-art{display:none}.login-form-wrap{padding:42px 28px}.dashboard-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:15px}.content-grid,.event-details,.checklist-overview{grid-template-columns:1fr}.checklist-index{display:none}.menu-columns{grid-template-columns:1fr}.summary-strip,.summary-strip.finance-summary{grid-template-columns:1fr}.section-header{align-items:flex-start}.header-actions{flex-wrap:wrap;justify-content:flex-end}.search-input{min-width:160px;max-width:100%}.table-card{overflow-x:auto}.data-table{min-width:680px}.modal-fields{grid-template-columns:1fr}.modal-fields label.full{grid-column:auto}.hero-card{padding:25px;min-height:230px}.hero-card h2{font-size:1.8rem}.role-badge{display:none}}
@media(max-width:420px){.dashboard-grid{grid-template-columns:1fr}.topbar-actions{gap:5px}.countdown-pill strong{font-size:.72rem}.demo-note{grid-template-columns:1fr}.demo-note strong{grid-column:auto}}

/* Tipografi mesra semua lapisan umur */
.login-art h1,.event-chip span,.brand-mark,.login-form-wrap h2,.sidebar-brand strong,
.topbar h1,.hero-card:after,.hero-card h2,.stat-card strong,.panel-header h3,
.section-header h2,.summary-box strong,.menu-card h3,.checklist-card h3,.modal-header h2{
  font-family:Arial,"Segoe UI",sans-serif;
  letter-spacing:-.015em;
}
.eyebrow{font-size:.82rem;letter-spacing:.11em;line-height:1.5}
.form-stack label,.modal-fields label{font-size:1rem}
.form-stack input,.modal-fields input,.modal-fields select,.modal-fields textarea,.search-input{font-size:1rem;min-height:46px}
.button{font-size:.96rem;min-height:44px}
.demo-note{font-size:.9rem;line-height:1.55}
.sidebar-brand span{font-size:.88rem}.nav-item{font-size:1rem;line-height:1.35;min-height:46px}.sidebar-footer strong{font-size:.95rem}.sidebar-footer span{font-size:.86rem}
.breadcrumb{font-size:.85rem}.countdown-pill span{font-size:.82rem}.countdown-pill strong{font-size:.95rem}.role-badge{font-size:.78rem}
.hero-card p{font-size:1.05rem}.hero-meta span{font-size:.98rem;line-height:1.45}.stat-card .stat-top{font-size:.93rem}.stat-card small{font-size:.88rem;line-height:1.45}
.panel-header p,.section-header p{font-size:.92rem;line-height:1.5}.mini-link{font-size:.9rem;min-height:40px}.progress-meta{font-size:.88rem}.timeline-row{grid-template-columns:92px 12px 1fr}.timeline-time{font-size:.94rem;white-space:nowrap}.timeline-row strong{font-size:1rem;line-height:1.5}.decision-item strong{font-size:1rem;line-height:1.5}.decision-item p{font-size:.9rem}
.data-table th{font-size:.84rem;line-height:1.4;padding:14px 16px}.data-table td{font-size:1rem;line-height:1.55;padding:14px 16px}.action-btn{font-size:.9rem;min-height:40px;padding:8px}.empty-state{font-size:1rem}.status{font-size:.8rem;line-height:1.4}.summary-box span{font-size:.9rem}.menu-row strong{font-size:1rem;line-height:1.5}.menu-row small{font-size:.9rem;line-height:1.45}.detail-label{font-size:.9rem}.detail-value{font-size:1.05rem;line-height:1.5}.tab-button{font-size:.95rem;min-height:44px}
.checklist-overview{grid-template-columns:250px 1fr}.checklist-index button{font-size:.9rem;line-height:1.4;min-height:44px}.leader-meta{font-size:.9rem;line-height:1.5}.check-row{padding:13px 0}.check-row input{width:22px;height:22px}.check-row span{font-size:1rem;line-height:1.5}.check-card-footer{font-size:.9rem;line-height:1.5}.toast{font-size:.95rem;line-height:1.5}
@media(max-width:760px){html{font-size:17px}.topbar h1{font-size:1.25rem}.countdown-pill strong{font-size:.9rem}.hero-card h2{font-size:1.9rem}.data-table{min-width:760px}}

