:root { font-family: Inter, ui-sans-serif, system-ui, sans-serif; color: #17202a; background: #f4f7fa; }
html, body { margin: 0; min-height: 100%; background: #f4f7fa; }
a { color: inherit; text-decoration: none; }
.app-shell { display: grid; grid-template-columns: 250px 1fr; min-height: 100vh; }
.sidebar { background: linear-gradient(180deg,#10283d,#173f57 60%,#17645f); color: white; padding: 18px 12px; }
.brand { display:flex; gap:12px; align-items:center; padding:0 10px 18px; }
.brand-mark { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:linear-gradient(135deg,#28c7b1,#3289ed); font-size:24px; font-weight:800; }
.brand strong,.brand small { display:block; }.brand strong { font-size:20px; }.brand small { opacity:.65; font-size:12px; }
.nav-link { color:rgba(255,255,255,.8); display:flex; gap:10px; padding:7px 11px; border-radius:8px; margin:0; font-weight:600; line-height:1.25; }
.nav-link:hover,.nav-link.active { color:white; background:rgba(255,255,255,.13); }
.nav-section { margin:14px 11px 5px; color:rgba(255,255,255,.45); font-size:10px; letter-spacing:.14em; }
main { min-width:0; }.topbar { height:70px; padding:0 34px; display:flex; align-items:center; gap:18px; background:white; border-bottom:1px solid #e3e8ed; }
.environment { color:#75808a; font-size:14px; }.top-actions { margin-left:auto; display:flex; align-items:center; gap:18px; }
.page-content { padding:30px; max-width:1500px; margin:0 auto; }
.hero-panel { color:white; background:linear-gradient(120deg,#173954,#126fa7 58%,#20b7ad); border-radius:24px; padding:38px; display:flex; justify-content:space-between; gap:20px; box-shadow:0 12px 32px rgba(20,65,95,.13); }
.hero-panel h1 { font-size:38px; max-width:780px; margin:8px 0 10px; }.hero-panel p { margin:0; color:rgba(255,255,255,.82); font-size:18px; max-width:780px; }
.hero-portrait{flex:0 0 172px;margin:0 8px 0 22px;text-align:center;align-self:center}.hero-portrait img{display:block;width:148px;height:174px;margin:0 auto;object-fit:cover;border-radius:50%;background:#fff;border:6px solid #e3bf67;box-shadow:0 0 0 3px rgba(255,255,255,.85),0 14px 30px rgba(0,0,0,.24)}.hero-portrait figcaption{margin-top:10px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.14em;text-shadow:0 1px 3px rgba(0,0,0,.35)}
.eyebrow { color:#159388; font-size:12px; font-weight:800; letter-spacing:.14em; }.hero-panel .eyebrow { color:#72e4d7; }
.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin:20px 0; }.metric-grid article,.panel { background:white; border:1px solid #e0e7ec; border-radius:17px; padding:22px; box-shadow:0 7px 24px rgba(20,50,70,.04); }
.metric-grid span,.metric-grid small { display:block; color:#74808a; }.metric-grid strong { display:block; font-size:28px; margin:8px 0 3px; }
.content-grid { display:grid; grid-template-columns:2fr 1fr; gap:20px; }.panel h2 { margin:5px 0 16px; font-size:23px; }
.production-flow { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }.production-flow div { background:#eef7f7; border-radius:12px; padding:18px; text-align:center; }.production-flow strong,.production-flow span { display:block; }.production-flow strong { color:#128a84; font-size:27px; }
.clean-list { padding-left:20px; line-height:2; }.page-heading { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:24px; }.page-heading h1 { font-size:40px; margin:4px 0; }.page-heading p { margin:0; color:#66737d; }
.empty-state { color:#74808a; text-align:center; padding:45px !important; }.status-pill { display:inline-block; padding:5px 10px; border-radius:999px; color:#08786f; background:#e4f6f3; font-size:12px; font-weight:700; }
.market-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }.marketplace-card { display:grid; grid-template-columns:58px 1fr auto; gap:16px; align-items:center; }.market-logo { display:grid; place-items:center; height:58px; border-radius:15px; color:white; background:linear-gradient(135deg,#1a6fb1,#1eb6a9); font-weight:800; }.marketplace-card h2 { margin:0 0 5px; }.marketplace-card p { color:#697681; }
.sidebar .nav-group-title{padding:8px 11px 3px}.sidebar .nav-child{padding:6px 11px 6px 25px}
.crud-toolbar{display:flex;gap:8px;flex-wrap:wrap}.selectable-grid tbody tr{cursor:pointer}.selectable-grid tbody tr:hover{background:#f1f8fa}.grid-search{max-width:260px}
.operation-manual{border:1px solid #d7e4e8;border-radius:12px;background:#f7fbfc}.operation-manual summary{cursor:pointer;padding:12px 15px;font-weight:750;color:#087d91}.operation-manual-body{padding:0 16px 14px;line-height:1.55}.subpanel{margin-top:18px;padding:16px;border-radius:12px;background:#f3f8fa}.pix-box{display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:center;margin-top:18px}.pix-box img{width:220px;max-width:100%;border:1px solid #dce5e9;border-radius:10px}.integration-row{display:flex;flex-direction:column;gap:4px;padding:14px 0;border-bottom:1px solid #e1e8ec}.integration-row span,.integration-row small{color:#687680}@media(max-width:700px){.pix-box{grid-template-columns:1fr}.pix-box img{margin:auto}}
.receipt{max-width:900px;margin:30px auto;padding:45px}.receipt header{display:flex;justify-content:space-between;align-items:flex-start}.receipt-signature{text-align:center;margin:80px 0 20px}@media print{.sidebar,.topbar,.no-print,.operation-manual{display:none!important}.app-shell{display:block}.page-content{padding:0}.receipt{border:0;box-shadow:none;max-width:none}}
#blazor-error-ui { background:#fff3cd; bottom:0; box-shadow:0 -1px 2px rgba(0,0,0,.2); display:none; left:0; padding:.6rem 1.25rem; position:fixed; width:100%; z-index:1000; }.dismiss { cursor:pointer; position:absolute; right:.75rem; top:.5rem; }
@media (max-width:900px) { .app-shell{grid-template-columns:1fr}.sidebar{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}.content-grid,.market-grid{grid-template-columns:1fr}.page-content{padding:18px}.hero-panel h1{font-size:30px}.hero-portrait{flex-basis:125px;margin-left:8px}.hero-portrait img{width:105px;height:124px;border-width:4px} }
@media (max-width:620px){.hero-panel{display:block}.hero-portrait{margin:25px auto 0}.hero-portrait img{width:118px;height:139px}}
.login-page { min-height:100vh; display:grid; grid-template-columns:1.15fr .85fr; background:linear-gradient(120deg,#10283d,#17645f); }
.login-brand { color:white; padding:9vw; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }.login-brand .brand-mark{margin-bottom:30px}.login-brand h1{font-size:52px;max-width:720px;margin:12px 0}.login-brand p{font-size:19px;max-width:650px;color:rgba(255,255,255,.72)}
.login-card { margin:auto; width:min(440px,85%); background:white; padding:42px; border-radius:22px; box-shadow:0 25px 70px rgba(0,0,0,.22); }.login-card h2{font-size:30px}.login-card>p{color:#687680}.login-card label,.panel label{display:block;font-weight:650;margin:14px 0 6px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-line{display:flex!important;align-items:center;gap:9px}.admin-grid{grid-template-columns:minmax(360px,.8fr) minmax(560px,1.2fr)}
@media (max-width:900px){.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-card{margin:30px auto}.admin-grid,.form-row{grid-template-columns:1fr}}

/* Acesso Memorialis */
.memorial-login{position:relative;overflow:hidden;grid-template-columns:minmax(520px,1.08fr) minmax(430px,.92fr);background:#f5f1ea}
.memorial-login:before{content:"";position:absolute;inset:0 48% 0 0;background:radial-gradient(circle at 15% 20%,rgba(232,193,111,.17),transparent 32%),linear-gradient(145deg,#0b2636 0%,#103f48 55%,#17645f 100%);clip-path:polygon(0 0,94% 0,100% 100%,0 100%)}
.memorial-login .login-brand{position:relative;z-index:1;padding:52px clamp(45px,6vw,105px);align-items:flex-start;text-align:left;background:transparent}
.login-brand-name{position:absolute;top:34px;left:clamp(45px,6vw,105px);display:flex;align-items:center;gap:12px;color:#fff}
.login-brand-symbol{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(229,197,127,.7);border-radius:50%;font-family:Georgia,serif;font-size:25px;color:#e8c778}
.login-brand-name strong{display:block;font-family:Georgia,serif;font-size:24px;letter-spacing:.02em}.login-brand-name small{display:block;color:rgba(255,255,255,.62);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.memorial-portrait{position:relative;width:174px;height:205px;margin:35px 0 24px;padding:7px;border-radius:50%;background:linear-gradient(145deg,#f8e5a6,#a87625 42%,#f4d987 70%,#7d5419);box-shadow:0 20px 46px rgba(0,0,0,.3),0 0 0 8px rgba(255,255,255,.055)}
.memorial-portrait:after{content:"";position:absolute;inset:11px;border:1px solid rgba(255,255,255,.75);border-radius:50%;pointer-events:none}
.memorial-portrait img{width:100%;height:100%;object-fit:cover;border-radius:50%;background:#fff;filter:contrast(1.03)}
.memorial-login .login-brand .eyebrow{color:#e8c778;letter-spacing:.16em}.memorial-login .login-brand h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,4.6vw,67px);line-height:1.03;max-width:690px;margin:12px 0 20px;font-weight:500}.memorial-login .login-brand p{max-width:620px;font-size:18px;line-height:1.65;color:rgba(255,255,255,.75)}
.login-benefits{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.login-benefits span{padding:8px 12px;border:1px solid rgba(232,199,120,.26);border-radius:30px;color:#f3e0b1;background:rgba(255,255,255,.055);font-size:13px}
.login-access-area{position:relative;z-index:2;display:flex;min-height:100vh;flex-direction:column;align-items:center;justify-content:center;padding:42px}
.memorial-login .login-card{width:min(470px,100%);margin:0;padding:48px;border:1px solid #e6ded1;border-radius:26px;box-shadow:0 28px 70px rgba(36,48,55,.14);background:rgba(255,255,255,.96)}
.login-card-kicker{color:#a27429;font-size:12px;font-weight:800;letter-spacing:.15em}.memorial-login .login-card h2{margin:8px 0 4px;font-family:Georgia,"Times New Roman",serif;font-size:38px;font-weight:500;color:#172d37}.memorial-login .login-card>p{margin-bottom:25px;color:#718089}
.memorial-login .login-card label{font-size:13px;color:#334852}.memorial-login .login-card .form-control{min-height:51px;border:1px solid #d8dfe0;border-radius:11px;background:#fbfcfc;padding:12px 15px;transition:.2s}.memorial-login .login-card .form-control:focus{border-color:#b28a44;box-shadow:0 0 0 4px rgba(178,138,68,.12);background:#fff}
.login-submit{min-height:53px;margin-top:24px!important;border:0!important;border-radius:11px!important;background:linear-gradient(135deg,#14756d,#0b504f)!important;font-weight:750!important;box-shadow:0 12px 25px rgba(16,100,93,.2)}.login-submit span{float:right;font-size:20px}.login-submit:hover{filter:brightness(1.08)}
.login-help{display:flex;justify-content:space-between;gap:16px;margin-top:24px;padding-top:18px;border-top:1px solid #ece8e1;color:#63747b;font-size:12px}.login-help small{color:#89959a}.login-copyright{margin:24px 0 0;color:#899397;font-size:12px;text-align:center}
.login-mobile-brand{display:none}
@media(max-width:980px){.memorial-login{display:block;min-height:100vh;background:linear-gradient(160deg,#0d3b43 0,#17645f 34%,#f5f1ea 34%)}.memorial-login:before,.memorial-login>.login-brand{display:none}.login-access-area{min-height:100vh;padding:28px 18px}.login-mobile-brand{display:flex;align-items:center;gap:12px;margin:0 0 22px;color:white}.login-mobile-brand img{width:62px;height:70px;object-fit:cover;border:3px solid #d9b668;border-radius:50%}.login-mobile-brand strong,.login-mobile-brand small{display:block}.login-mobile-brand strong{font-family:Georgia,serif;font-size:25px}.login-mobile-brand small{color:rgba(255,255,255,.7)}.memorial-login .login-card{padding:30px 25px}.login-copyright{color:#68777b}}
.order-grid{grid-template-columns:1.25fr .75fr}.order-total{display:flex;justify-content:space-between;align-items:center;background:#e8f6f5;border-radius:13px;padding:18px;margin-top:18px}.order-total strong{font-size:27px;color:#08786f}
.art-data{display:grid;grid-template-columns:130px 1fr;gap:8px 15px}.art-data dt{color:#71808b}.art-data dd{font-weight:600;margin:0 0 8px}.panel hr{border-color:#dfe7eb;margin:24px 0}
.price-detail{display:flex;justify-content:space-between;color:#08786f;padding:10px 2px}.access-cell{min-width:220px}.access-cell textarea{min-width:210px}
.production-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:18px}.production-card header,.production-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.production-card footer{border-top:1px solid #e2e8ec;padding-top:15px;margin-top:18px}.production-card.late{border-color:#dc3545}.late-warning{color:#a61e2d;background:#fdebed;border-radius:8px;padding:7px 10px;margin:10px 0;font-weight:700}.marketing-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.priority-line{display:flex;justify-content:space-between;gap:12px;margin:12px 0;color:#52606d}.production-detail{align-items:start}.production-item{padding:14px 0;border-bottom:1px solid #e3e9ed}.observation-box{white-space:pre-wrap;min-height:110px;padding:16px;border:1px solid #ccd7de;border-radius:10px;background:#fffef5;font-size:1.05rem}.late-row{background:#fff0f1!important;color:#8e1b2a}.empty-state{text-align:center;color:#667784;padding:38px}
.nav-group-title{padding:12px 13px 4px;font-weight:700;color:white}.nav-child{padding-left:28px;font-size:14px}.marketing-hero{color:white;background:linear-gradient(120deg,#084e5b,#07818d 58%,#1eb8c5);border-radius:26px;padding:38px 48px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;gap:25px}.marketing-hero.operation{background:linear-gradient(120deg,#123654,#075e6c)}.marketing-hero h1{font-size:46px;font-weight:800;margin:8px 0}.marketing-hero p{font-size:18px;opacity:.85}.connection-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);padding:20px 25px;border-radius:20px;min-width:290px}.connection-card strong,.connection-card span{display:block}.marketing-main-tabs{display:flex;gap:8px;overflow:auto;background:white;border:1px solid #dce6ea;border-radius:18px;padding:8px;margin-bottom:20px}.marketing-main-tabs button{border:0;background:transparent;padding:14px 20px;border-radius:12px;font-weight:700;white-space:nowrap}.marketing-main-tabs button.active,.marketing-main-tabs button:hover{background:#078b96;color:white}.panel-title-row{display:flex;justify-content:space-between;align-items:center}.marketing-list-grid{grid-template-columns:minmax(350px,.7fr) minmax(650px,1.3fr)}.link-button{border:0;background:none;color:#087d91;text-decoration:underline;font-weight:700}.selected-row{background:#eef9fa}.status-pill.authorized{background:#dff5e9;color:#08733f}.status-pill.blocked{background:#edf0f2;color:#5f6870}@media(max-width:900px){.marketing-hero{padding:25px;display:block}.connection-card{margin-top:20px;min-width:0}.marketing-list-grid{grid-template-columns:1fr}}

/* Menu lateral recolhível */
.app-shell{transition:grid-template-columns .25s ease}.app-shell.menu-collapsed{grid-template-columns:0 1fr}.sidebar{position:sticky;top:0;height:100vh;overflow-x:hidden;overflow-y:auto;z-index:1050;transition:transform .25s ease,opacity .2s ease}.menu-collapsed .sidebar{transform:translateX(-102%);opacity:0;pointer-events:none}.sidebar-close{position:absolute;z-index:2;top:12px;right:7px;width:28px;height:28px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:rgba(255,255,255,.08);color:#fff;font-size:23px;line-height:20px}.menu-toggle{display:flex;place-items:center;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;min-width:132px;height:38px;padding:0 12px;border:1px solid #b9cbd3;border-radius:9px;background:#fff;color:#17465b;font-size:13px;font-weight:750}.menu-toggle-icon{font-size:14px}.menu-toggle:hover{background:#e8f5f4;border-color:#188b84}.menu-restore{position:fixed;z-index:1090;left:0;top:88px;display:flex;flex-direction:column;align-items:center;gap:3px;width:58px;padding:11px 6px;border:0;border-radius:0 12px 12px 0;background:linear-gradient(180deg,#123b54,#17645f);color:#fff;box-shadow:4px 6px 18px rgba(0,0,0,.24)}.menu-restore span{font-size:18px}.menu-restore strong{font-size:9px;letter-spacing:.1em}.menu-overlay{display:none}
@media(max-width:900px){.app-shell,.app-shell.menu-open,.app-shell.menu-collapsed{display:block}.app-shell .sidebar{display:block!important;position:fixed;left:0;top:0;width:min(290px,84vw);height:100vh;opacity:1;transform:translateX(-102%);pointer-events:none;box-shadow:10px 0 35px rgba(0,0,0,.25)}.app-shell.menu-open .sidebar{transform:translateX(0);pointer-events:auto}.menu-overlay{display:block;position:fixed;z-index:1040;inset:0;border:0;background:rgba(5,22,31,.48);backdrop-filter:blur(2px)}.sidebar-close{display:block}.menu-restore{top:76px}.topbar{height:64px;padding:0 14px;gap:10px}.topbar .environment{display:none}.top-actions{gap:8px}.top-actions>span{display:none}.page-content{padding-top:22px}.menu-toggle{min-width:74px;padding:0 9px}.menu-toggle-text{font-size:0}.menu-toggle-text:after{content:"Menu";font-size:12px}}
@media(min-width:901px){.sidebar-close{display:none}}
