:root{color-scheme:light;--paper:#f4f3ee;--ink:#1c1d1a;--line:#deded5;--muted:#77786e}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:14px/1.5 Arial,Helvetica,sans-serif;background:var(--paper)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}input,select,textarea{width:100%;border:1px solid #c8c9bf;background:#fff;color:var(--ink);padding:11px 12px;border-radius:4px;min-height:44px}textarea{resize:vertical}label{display:block;margin:16px 0 7px;font-size:12px;font-weight:600}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #7a8966;outline-offset:3px}a{color:inherit}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.18em;margin:0 0 12px}h1,h2,h3,p{overflow-wrap:anywhere}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border:1px solid transparent;border-radius:4px;text-decoration:none;font-size:12px;font-weight:600;white-space:nowrap;gap:8px;min-height:44px}.button-dark{background:#1c1d1a;color:white}.button-light{background:#eeede6;color:#191919}.button-outline{background:transparent;border-color:#bfc0b6;color:#34362d}.button-danger{background:#963c35;color:#fff}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}
.login-page{min-height:100svh;display:grid;place-items:center;background:#000;color:#f7f6f1;padding:32px 20px}.login-card{width:min(100%,380px);text-align:center}.login-card>img{width:100px;height:auto;margin-bottom:24px}.login-card h1{font:400 40px/1.1 'Times New Roman',serif;margin:0 0 16px}.login-intro{color:#aaa99f;font-size:13px;margin-bottom:32px}.login-card form{text-align:left}.login-card input{background:#141414;border-color:#52534c;color:white}.login-card .button{width:100%;margin-top:12px}.login-return{display:inline-block;margin-top:28px;font-size:12px;text-underline-offset:5px}#login-error{color:#edb7a7;font-size:13px;min-height:20px}
.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:#080908;color:#eeede6;padding:32px 26px;display:flex;flex-direction:column;overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:18px;margin-bottom:26px}.couple-photo{width:78px;height:78px;border-radius:50%;object-fit:cover;object-position:50% 32%;filter:grayscale(1)}.sidebar-logo{width:78px;height:auto}.sidebar h1{font:400 29px/1.1 'Times New Roman',serif;margin:0}.sidebar-date{font-size:11px;color:#9f9f93;margin:12px 0 32px}.sidebar nav{display:grid;gap:4px}.nav-link{display:block;padding:12px 10px;border-radius:4px;color:#bcbdb2;text-decoration:none;font-size:12px}.nav-link:hover,.nav-link.active{background:#20221c;color:#fff}.sidebar-countdown{border-top:1px solid #33352b;border-bottom:1px solid #33352b;margin-top:30px;padding:18px 0}.sidebar-countdown>p{font-size:10px;color:#a4a594;margin:0 0 12px}#admin-countdown{display:flex;justify-content:space-between;gap:6px}#admin-countdown span{display:block;text-align:center;font-size:25px;font-family:'Times New Roman',serif;font-variant-numeric:tabular-nums}#admin-countdown small{display:block;font:8px Arial,sans-serif;letter-spacing:.07em;color:#a4a594;text-transform:uppercase}.sidebar blockquote{font:italic 22px/1.35 'Times New Roman',serif;margin:30px 0}.sidebar cite{display:block;margin-top:12px;font:10px Arial,sans-serif;color:#a4a594}.logout{margin-top:auto;padding:16px 0 0;border:0;background:none;color:#bcbdb2;text-align:left;font-size:11px}
.admin-main{margin-left:260px;padding:44px clamp(24px,3.5vw,64px);max-width:1800px}.page-header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}.page-header h2{font:400 clamp(32px,3.5vw,48px)/1.1 'Times New Roman',serif;letter-spacing:-.035em;margin:0 0 12px}.page-header>div>p:last-child{font-size:13px;color:var(--muted);margin:0}.statistics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:30px}.statistics article{border:1px solid var(--line);background:#fff;padding:20px 18px;border-radius:5px}.statistics p{margin:0 0 12px;font-size:11px;color:#72756a}.statistics strong{display:block;font:400 38px/1 'Times New Roman',serif}.statistics span{font-size:10px;color:var(--muted);display:block;margin-top:8px}.toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.toolbar label{width:min(480px,100%);margin:0;font-size:11px;font-weight:400}.toolbar input{margin-top:7px}.admin-status{font-size:12px;min-height:18px;color:#6c7161;margin:14px 0 20px}.guest-section{margin-bottom:36px;scroll-margin-top:20px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}.section-heading h3{font:400 25px/1.2 'Times New Roman',serif;margin:0}.section-heading span{color:var(--muted);font-size:11px}.table-wrap{overflow-x:auto;background:white;border:1px solid var(--line);border-radius:5px}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left;min-width:750px}th{background:#eaece3;color:#626756;font-size:9px;text-transform:uppercase;letter-spacing:.07em;font-weight:600;padding:14px 16px}td{padding:20px 16px;vertical-align:top;border-top:1px solid #e9eae3;max-width:240px;overflow-wrap:anywhere}td strong{display:block;font-size:13px;font-weight:600;margin-bottom:8px}td p{margin:0 0 6px}td ul{padding-left:14px;margin:10px 0 0;color:#63675c;font-size:11px}td li{margin-bottom:5px}.guest-meta{font-size:10px;color:#7f8277}.guest-phone{display:block;margin-top:8px}.row-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.row-actions button{border:0;padding:4px 0;background:none;font-size:11px;text-decoration:underline;text-underline-offset:3px;color:#343c2a}.row-actions .delete-action{color:#9c4a40}.empty-row{text-align:center;padding:32px;color:#86897e}.export-note{font-size:11px;color:#85887d;margin-top:20px}
dialog{width:min(620px,calc(100% - 32px));max-height:calc(100svh - 40px);overflow-y:auto;border:1px solid var(--line);border-radius:6px;padding:28px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:rgb(0 0 0 / 65%)}dialog h2{font:400 30px/1.1 'Times New Roman',serif;margin:0}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.icon-button{border:0;background:none;font-size:30px;padding:0 4px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}#edit-details{padding:0;border:0;margin:0}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}#edit-error,#delete-error{color:#9c4a40;font-size:12px}.help-text{font-size:12px;color:var(--muted)}#delete-dialog{max-width:440px}#delete-name{font-weight:600;margin-top:24px}
@media(max-width:1100px){.sidebar{width:225px;padding:28px 20px}.admin-main{margin-left:225px;padding:32px 24px}.statistics{grid-template-columns:repeat(2,minmax(0,1fr))}.page-header{align-items:flex-start;flex-direction:column}.page-header .button{align-self:flex-start}}
@media(max-width:700px){.sidebar{position:relative;width:100%;padding:24px}.sidebar-brand{margin-bottom:16px}.sidebar h1{font-size:26px}.sidebar nav{grid-template-columns:1fr 1fr}.sidebar nav a:last-child{grid-column:1/-1}.sidebar-date{margin-bottom:18px}.sidebar-countdown{max-width:300px;margin-top:18px}.sidebar blockquote{font-size:20px;margin:20px 0}.logout{padding-top:0}.admin-main{margin-left:0;padding:28px 18px}.toolbar{align-items:stretch;flex-direction:column;gap:12px}.toolbar label{width:100%}.statistics{gap:10px}.statistics article{padding:16px 12px}.statistics p{font-size:10px}.page-header h2{font-size:35px}.form-columns{grid-template-columns:1fr}.dialog-actions{flex-wrap:wrap}input,select,textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Menu lateral com apenas o monograma na identidade visual. */
.sidebar-brand { justify-content: center; margin-bottom: 32px; }
.sidebar-logo { width: 110px; height: auto; }

.gift-statistics { grid-template-columns: repeat(2,minmax(0,1fr)); max-width:600px; }
.gifts-table { min-width: 580px; }
.gifts-table td { max-width: none; }
.gifts-table td:nth-child(2) { width: 55%; }
#gift-dialog { max-width: 480px; }
#gift-dialog-name { font-weight:600; margin-top:24px; }
#gift-dialog-error { color:#9c4a40; }
