.portal-header{display:flex;align-items:center;gap:28px;padding:18px 4vw;border-bottom:1px solid var(--line);background:var(--surface)}.portal-header>span{font-size:.875rem;color:var(--muted)}.portal-header>a:last-child{margin-left:auto;font-size:.875rem}.loading{padding:60px;text-align:center}.login-layout{min-height:75vh;max-width:1000px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:64px 32px}.login-layout h1{font-size:3.5rem;margin-bottom:24px}.login-layout p{color:var(--muted)}.login-card{padding:32px;background:var(--surface);border:1px solid var(--line);border-radius:20px}.login-card h2{font-size:2rem;margin-bottom:24px}.field{display:grid;gap:7px;font-size:.875rem;font-weight:600;margin-bottom:20px}input,textarea,select{max-width:100%;width:100%;background:#fffdf8;color:var(--ink);border:1px solid #89978d;border-radius:10px;padding:12px;font-size:1rem;min-height:48px}textarea{min-height:125px;resize:vertical;line-height:1.5}.check{display:flex;align-items:center;gap:12px;font-size:.875rem;margin:16px 0}.check input{width:20px;min-height:20px;flex-shrink:0}.portal-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 86px)}.portal-sidebar{background:var(--forest);color:var(--paper);padding:32px 20px;display:flex;flex-direction:column;gap:25px}.portal-sidebar h2{font:600 1.125rem/1.5 var(--body);letter-spacing:0}.portal-sidebar .eyebrow{color:var(--lime);font-size:.75rem;margin-bottom:8px}.portal-sidebar nav{display:grid;gap:8px}.portal-sidebar a,.portal-sidebar button{border:0;background:none;text-align:left;padding:13px 14px;color:inherit;text-decoration:none;font-size:.9375rem;border-radius:10px}.portal-sidebar nav a[aria-current]{background:var(--lime);color:var(--forest);font-weight:700}.portal-sidebar .side-bottom{margin-top:auto;display:grid}.portal-main{padding:40px clamp(20px,4vw,64px);max-width:1500px;min-width:0}.portal-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.portal-title h1{font-size:clamp(2rem,3vw,3rem)}.portal-title .eyebrow{margin-bottom:8px}.portal-title p.small{margin-top:12px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--surface);border-radius:16px;margin-bottom:28px}.metrics>div{padding:20px 25px;border-right:1px solid var(--line)}.metrics>div:last-child{border:0}.metrics span{font-size:.875rem;display:block}.metrics strong{font-family:var(--display);font-size:2.5rem;font-weight:400;line-height:1.4}.toolbar,.form-row{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:20px}.toolbar .field,.form-row .field{margin:0;flex:1;min-width:160px}.panel{padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:18px;margin-bottom:24px}.panel h2{font-size:1.8rem;margin-bottom:16px}.panel h3{font-size:1.5rem;margin-bottom:16px}.panel p{overflow-wrap:anywhere}.empty{padding:48px 24px;text-align:center;border:1px dashed var(--line);border-radius:16px}.empty h2{font-size:1.8rem;margin-bottom:12px}.res-item{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden}.res-item summary{display:grid;grid-template-columns:95px 1fr auto;align-items:center;gap:20px;cursor:pointer;padding:22px;list-style:none}.res-item summary::after{content:'Ver detalhes';grid-column:2/4;font-size:.875rem;text-decoration:underline}.res-date strong{font-size:1.25rem;display:block}.res-info strong{font-size:1rem;display:block}.res-info span,.res-date span{font-size:.875rem;color:var(--muted)}.status{display:inline-block;font-size:.8125rem;padding:5px 10px;border-radius:6px;background:#e9eadd;color:var(--forest);white-space:normal;max-width:250px}.status.confirmed,.status.completed{background:#d7e7b8}.status.pending,.status.paid_unbooked{background:#f1dfc5}.res-detail{border-top:1px solid var(--line);padding:24px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.detail-grid h3{font:700 .875rem var(--body);letter-spacing:0;margin-bottom:8px}.preserve{white-space:pre-wrap}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:20px}.actions .button{min-height:44px;padding:10px 16px;font-size:.875rem}.danger{color:#922c23!important;border-color:#b88580!important}.offer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:20px;margin-top:28px}.offer-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:16px}.offer-card h2{font-size:2rem}.offer-card p{margin:0}.offer-card .offer-price{font:2.2rem var(--display)}.offer-card .actions{margin-top:auto}.days-check{display:flex;gap:18px;flex-wrap:wrap}.calendar-mini{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:22px 0}.day-cell{font-size:.875rem;padding:12px 4px;border:1px solid var(--line);border-radius:9px;min-height:85px;text-align:center;background:#fffdf8}.day-cell strong{display:block;font-size:1.1rem}.day-cell small{font-size:.75rem}.day-cell.closed{background:#e6e5df;color:#5a615b}.day-cell.booked{background:var(--forest);color:var(--paper)}.inline-list{display:grid;gap:10px;margin-top:24px}.inline-list>div{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:10px}.admin-page{max-width:1180px;margin:auto;padding:50px 32px}.admin-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:start}.restaurant-row{border-top:1px solid var(--line);padding:24px 0}.restaurant-row h3{font-size:1.5rem;margin-bottom:12px}.admin-page>h1{margin-bottom:18px}.admin-page>.lead{margin-bottom:30px}#notice:not(:empty){position:sticky;top:0;z-index:60;padding:15px 5vw;background:#d7e7b8;color:#183d26;border-bottom:1px solid #7a9463;font-weight:600}#notice.error{background:#f9dfd7;color:#702c1c}dialog{width:min(650px,calc(100% - 32px));max-height:90dvh;overflow:auto;border:1px solid var(--line);border-radius:20px;padding:30px;background:var(--surface);color:var(--ink)}dialog::backdrop{background:#12211b99}dialog h2{font-size:2rem;margin-bottom:24px}.credentials{background:#e8eccc;border:1px solid var(--line);padding:20px;border-radius:12px}.credentials input{font-family:monospace}.password-help{font-size:.875rem;color:var(--muted);margin-bottom:20px}.account-panel{max-width:650px}.offer-card img{aspect-ratio:3/2;object-fit:cover;border-radius:10px}.portal-main .button{border-radius:10px}.notice-note{padding:16px 20px;border-left:3px solid var(--terra);background:#eee6d8;font-size:.875rem;margin-bottom:24px}.login-card .button{width:100%}button:disabled{opacity:.6;cursor:wait}
@media(max-width:850px){.portal-shell{grid-template-columns:1fr}.portal-sidebar{padding:20px;gap:14px}.portal-sidebar nav{display:flex;overflow:auto;gap:5px}.portal-sidebar nav a{white-space:nowrap}.portal-sidebar .side-bottom{display:flex;gap:12px;margin:0}.portal-sidebar .side-bottom a,.portal-sidebar .side-bottom button{font-size:.875rem;padding:5px}.portal-sidebar h2{font-size:1rem}.portal-main{padding:28px 20px}.admin-grid{grid-template-columns:1fr}.login-layout{gap:30px}.portal-header>span{display:none}}
@media(max-width:560px){.login-layout{grid-template-columns:1fr;padding:35px 20px;gap:25px}.login-layout h1{font-size:2.6rem}.login-card{padding:24px}.portal-header{gap:12px;padding:14px 20px}.portal-header .pp-brand{font-size:1.35rem}.portal-header>a:last-child{font-size:.8125rem}.portal-title{align-items:start;flex-wrap:wrap}.metrics>div{padding:13px 10px}.metrics span{font-size:.8125rem}.metrics strong{font-size:2rem}.res-item summary{grid-template-columns:68px 1fr;padding:18px;gap:15px}.res-item .status{grid-column:2}.res-item summary::after{grid-column:2}.detail-grid{grid-template-columns:1fr}.panel,.res-detail{padding:20px}.calendar-mini{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-page{padding:30px 20px}.admin-page>h1{font-size:2.5rem}.portal-sidebar nav a{font-size:.875rem;padding:10px}.actions .button{flex-grow:1}.toolbar{align-items:stretch}.toolbar .field{min-width:135px}dialog{padding:24px}.login-layout .eyebrow{margin-bottom:8px}}
.portal-sidebar{min-width:0}.portal-sidebar nav{max-width:100%;min-width:0}.metrics>div{min-width:0}.portal-title>div{min-width:0}.login-card>p.small{margin-top:18px}@media(max-width:850px){.portal-shell{grid-template-columns:minmax(0,1fr)}}
