:root{--ink: #1a2330;--ink-soft: #4a5868;--paper: #f6f1e7;--paper-2: #ebe4d6;--cauvery: #0d6b6e;--cauvery-deep: #0a5255;--turmeric: #c69214;--turmeric-deep: #9a6f0c;--loom: #2f4a3a;--line: rgba(26, 35, 48, .12);--white: #fffdf8;--danger: #b42318;--radius: 3px;--font-display: "Source Serif 4", "Noto Sans Tamil", Georgia, serif;--font-body: "DM Sans", "Noto Sans Tamil", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font-body);color:var(--ink);background:var(--paper);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.landing{position:relative;min-height:100vh;background:linear-gradient(180deg,#f8f3ea,#efe7d8 42%,#e4efe9);overflow-x:hidden}.landing-weave{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;opacity:.35;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 11px,rgba(13,107,110,.045) 11px,rgba(13,107,110,.045) 12px),repeating-linear-gradient(0deg,transparent 0,transparent 11px,rgba(198,146,20,.04) 11px,rgba(198,146,20,.04) 12px);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 100%)}.landing-nav{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem clamp(1.25rem,4vw,3.5rem)}.nav-brand{display:flex;align-items:center;gap:.75rem;min-width:0}.nav-mark{display:grid;place-items:center;width:2.35rem;height:2.35rem;background:var(--cauvery);color:var(--white);font-family:var(--font-display);font-weight:700;font-size:.85rem;letter-spacing:.04em;flex-shrink:0}.nav-name{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-links{display:flex;align-items:center;gap:1.15rem;flex-wrap:wrap;justify-content:flex-end}.nav-links a{font-size:.9rem;color:var(--ink-soft)}.nav-links a:hover{color:var(--cauvery-deep)}.lang-btn,.btn{border:1px solid var(--ink);background:transparent;color:var(--ink);padding:.55rem 1.05rem;cursor:pointer;border-radius:var(--radius);transition:background .2s,color .2s,border-color .2s,transform .2s}.btn-primary{background:var(--cauvery);color:var(--white);border-color:var(--cauvery)}.btn-primary:hover,.lang-btn:hover,.btn:hover{background:var(--turmeric-deep);border-color:var(--turmeric-deep);color:var(--white);transform:translateY(-1px)}.hero{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(1.5rem,4vw,3.75rem);align-items:stretch;min-height:calc(100svh - 4.5rem);padding:.5rem clamp(1.25rem,4vw,3.5rem) 3rem}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding-bottom:1rem}.place-line{margin:0 0 .85rem;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cauvery);font-weight:600;animation:rise .7s ease both}.brand-mark{font-family:var(--font-display);font-size:clamp(2.35rem,5.4vw,4.35rem);font-weight:650;line-height:1.08;letter-spacing:-.025em;margin:0 0 .65rem;max-width:14ch;color:var(--ink);animation:rise .8s ease .05s both}.identity-line{margin:0 0 1rem;font-family:var(--font-display);font-size:clamp(1.15rem,2vw,1.45rem);font-weight:600;color:var(--cauvery-deep);max-width:28rem;line-height:1.3;animation:rise .8s ease .08s both}.tagline{font-size:clamp(1.02rem,1.6vw,1.2rem);color:var(--ink-soft);max-width:34rem;margin:0 0 1.75rem;animation:rise .8s ease .12s both}.price-block{display:flex;flex-direction:column;gap:.2rem;margin-bottom:1.75rem;padding:1rem 0 1rem 1rem;border-left:3px solid var(--turmeric);animation:rise .8s ease .18s both}.price-label{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--ink-soft);font-weight:600}.price-value{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,3.6rem);color:var(--turmeric-deep);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.price-meta{color:var(--ink-soft);font-size:.95rem}.price-200 strong{color:var(--ink);font-weight:650}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;animation:rise .8s ease .24s both}.hero-portrait{position:relative;display:flex;flex-direction:column;min-height:0;animation:fade-in 1s ease .1s both}.erode-mosaic{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1.15fr .85fr;gap:.55rem;flex:1;min-height:min(62vh,640px);overflow:hidden}.erode-mosaic-cell{overflow:hidden;min-height:0;box-shadow:0 0 0 1px #1a233014}.erode-mosaic-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease}.erode-mosaic-main{grid-column:1 / 2;grid-row:1 / 3}.erode-mosaic-main img{object-position:center}.erode-mosaic-side{grid-column:2 / 3;grid-row:1 / 2}.erode-mosaic-accent{grid-column:2 / 3;grid-row:2 / 3}.erode-mosaic-accent img{object-position:center}@media(hover:hover)and (pointer:fine){.erode-mosaic-cell:hover img{transform:scale(1.05)}}.portrait-frame{position:relative;flex:1;min-height:min(62vh,640px);overflow:hidden;background:linear-gradient(145deg,rgba(13,107,110,.18),transparent 50%),#d7cbb6;box-shadow:0 0 0 1px #1a233014,0 28px 70px #1a23302e}.portrait-frame:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid rgba(255,253,248,.35);z-index:2;pointer-events:none}.portrait-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 12%;transform:scale(1.02);transition:transform 1.2s ease}.hero-portrait:hover .portrait-frame img{transform:scale(1.03)}.portrait-caption{margin-top:.9rem;display:flex;flex-direction:column;gap:.15rem}.portrait-role{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cauvery);font-weight:600}.portrait-caption strong{font-family:var(--font-display);font-size:1.45rem;font-weight:650}.section{position:relative;z-index:1;padding:clamp(3.5rem,7vw,5.5rem) 0}.section-inner{width:min(1120px,calc(100% - 2.5rem));margin:0 auto}.section-kicker{margin:0 0 .5rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--turmeric-deep);font-weight:700}.section h2{font-family:var(--font-display);font-size:clamp(1.85rem,3.4vw,2.6rem);margin:0 0 1rem;line-height:1.15;max-width:18ch}.lead{font-size:1.08rem;color:var(--ink-soft);max-width:42rem;margin:0 0 1.25rem}.heritage-note{max-width:40rem;margin:0 0 2.5rem;padding:1rem 0 0;border-top:1px solid var(--line);color:var(--ink);font-family:var(--font-display);font-size:1.15rem;line-height:1.45}.section-about{background:linear-gradient(180deg,transparent,rgba(13,107,110,.06))}.value-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem}.value-row article{padding-top:1rem;border-top:2px solid var(--cauvery)}.value-row h3{font-family:var(--font-display);font-size:1.2rem;margin:0 0 .5rem}.value-row p{margin:0;color:var(--ink-soft);font-size:.98rem}.section-service{background:linear-gradient(135deg,#0d6b6ef0,#0a5255fa),var(--cauvery-deep);color:var(--white)}.section-service .lead{color:#fffdf8d1}.section-service h2{max-width:22ch}.taluks-label{margin:2rem 0 .85rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;opacity:.75;font-weight:600}.taluk-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}.taluk-list li{padding:1rem .85rem;border:1px solid rgba(255,253,248,.22);background:#fffdf80f;display:flex;flex-direction:column;gap:.25rem;transition:background .25s,transform .25s}.taluk-list li:hover{background:#fffdf81f;transform:translateY(-2px)}.taluk-en{font-family:var(--font-display);font-size:1.15rem;font-weight:650}.taluk-alt{font-size:.85rem;opacity:.75}.section-owner{background:var(--paper-2)}.owner-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(1.5rem,4vw,3rem);align-items:center}.owner-photo-wrap{overflow:hidden;aspect-ratio:4 / 5;background:#d7cbb6;box-shadow:0 20px 50px #1a233024}.owner-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 14%;display:block}.section-visit{background:radial-gradient(ellipse 70% 60% at 90% 20%,rgba(198,146,20,.16),transparent 55%),var(--paper)}.visit-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:stretch}.address-block{font-size:1.15rem;max-width:32rem;margin:0;line-height:1.5;font-weight:500}.visit-meta{margin-top:1rem;color:var(--ink-soft)}.visit-meta p{margin:.2rem 0}.visit-panel{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.35rem;padding:2rem;background:linear-gradient(160deg,var(--ink) 0%,#243447 100%);color:var(--white);min-height:240px}.visit-tamil{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,3.4rem);line-height:1;color:var(--turmeric)}.visit-english{font-size:1.1rem;letter-spacing:.2em;text-transform:uppercase;opacity:.7}.visit-kongu{margin-top:1rem;font-family:var(--font-display);font-size:1.35rem;opacity:.9}.landing-footer{position:relative;z-index:1;border-top:1px solid var(--line);padding:1.75rem 0 2.25rem;background:#fffdf88c}.footer-row{display:flex;justify-content:space-between;gap:1rem;align-items:end;flex-wrap:wrap}.footer-row strong{display:block;font-family:var(--font-display);margin-bottom:.2rem}.muted{color:var(--ink-soft)}.error{color:var(--danger);font-size:.9rem}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0;transform:translate3d(12px,0,0)}to{opacity:1;transform:translateZ(0)}}@media(max-width:980px){.hero{grid-template-columns:1fr;min-height:auto;gap:2rem}.brand-mark{max-width:none}.portrait-frame{min-height:420px;max-height:70vh;aspect-ratio:4 / 5}.erode-mosaic{min-height:0;max-height:none;width:100%;aspect-ratio:5 / 6;grid-template-columns:1fr 1fr;grid-template-rows:1.25fr .85fr}.erode-mosaic-main{grid-column:1 / 3;grid-row:1 / 2}.erode-mosaic-side{grid-column:1 / 2;grid-row:2 / 3}.erode-mosaic-accent{grid-column:2 / 3;grid-row:2 / 3}.value-row,.taluk-list,.owner-split,.visit-grid{grid-template-columns:1fr}.taluk-list{grid-template-columns:1fr 1fr}.nav-links a:not(.lang-btn){display:none}}@media(max-width:560px){.taluk-list{grid-template-columns:1fr}.nav-name{max-width:42vw}}.app-topbar{display:none}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh;min-height:100dvh;background:#eef1f4}.sidebar{background:var(--ink);color:var(--white);padding:1.5rem 1rem;display:flex;flex-direction:column;gap:.35rem;position:sticky;top:0;height:100vh;height:100dvh;overflow:auto}.sidebar .brand{font-family:var(--font-display);font-size:1.15rem;margin:0 0 1.25rem;padding:0 .5rem;line-height:1.25}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem}.sidebar a{padding:.65rem .75rem;border-radius:8px;color:#fffaf3c7;font-size:.95rem}.sidebar a.active,.sidebar a[aria-current=page],.sidebar a:hover{background:#ffffff1a;color:var(--white)}.sidebar .spacer{flex:1}.sidebar-user{padding:.5rem;font-size:.8rem;display:block}.sidebar-logout{color:#fff!important;border-color:#ffffff4d!important}.main{padding:1.5rem clamp(.85rem,2.5vw,2rem);min-width:0;overflow-x:clip}.panel{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:1.15rem;margin-bottom:1rem;min-width:0;overflow:visible}.panel h1,.panel h2{font-family:var(--font-display);margin:0 0 1rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.grid-2>.field,.grid-2>.select-field{min-width:0;width:100%}.settings-owner{display:flex;flex-direction:column;gap:.75rem;margin:.25rem 0 .5rem}.settings-owner-preview{display:block;width:120px;height:120px;object-fit:cover;border-radius:4px;border:1px solid var(--line)}.form-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem;clear:both}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:1rem 1.15rem}.stat .label{font-size:.8rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em}.stat .value{font-family:var(--font-display);font-size:1.6rem;margin-top:.25rem}label.field{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--ink-soft);margin-bottom:.85rem}label.field input,label.field select,label.field textarea{border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem;background:#fff;color:var(--ink);min-height:2.75rem;height:2.75rem;width:100%;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}label.field textarea{height:auto;min-height:5.5rem;resize:vertical}label.field input[type=date]{line-height:1.2}label.field input:focus,label.field select:focus,label.field textarea:focus,.select-trigger:focus{outline:2px solid rgba(13,107,110,.35);outline-offset:1px;border-color:var(--cauvery)}.select-field,.select{position:relative}.select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem;background:#fff;color:var(--ink);min-height:2.75rem;height:2.75rem;box-sizing:border-box;cursor:pointer;text-align:left}.select-placeholder{color:#8a94a3}.select-chevron{width:.55rem;height:.55rem;border-right:2px solid var(--ink-soft);border-bottom:2px solid var(--ink-soft);transform:rotate(45deg);margin-top:-.25rem;flex-shrink:0;transition:transform .15s ease}.select.is-open .select-chevron{transform:rotate(225deg);margin-top:.15rem}.select-menu{position:absolute;z-index:40;left:0;right:auto;top:calc(100% + .35rem);margin:0;padding:.35rem;list-style:none;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px #1a233024;min-width:100%;width:max-content;max-width:min(18rem,calc(100vw - 1.5rem));max-height:min(50vh,320px);overflow-x:hidden;overflow-y:auto}.select-menu button{width:100%;text-align:left;border:0;background:transparent;padding:.7rem .75rem;border-radius:8px;cursor:pointer;color:var(--ink);white-space:nowrap}.select-menu button:hover,.select-menu button.is-active{background:#0d6b6e1a;color:var(--cauvery-deep)}.select-empty{padding:.75rem;color:var(--ink-soft);font-size:.9rem}.select-native-fallback{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;overflow:hidden!important}.shop-picker{margin-bottom:1rem}.shop-picker-label{font-size:.85rem;color:var(--ink-soft);margin-bottom:.4rem}.shop-picker-list{border:1px solid var(--line);border-radius:12px;max-height:min(40vh,280px);overflow:auto;background:#fff}.shop-picker-item{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.8rem .9rem;border:0;border-bottom:1px solid var(--line);background:transparent;cursor:pointer;text-align:left}.shop-picker-item:last-child{border-bottom:0}.shop-picker-item span{font-size:.82rem;color:var(--ink-soft)}.shop-picker-item.is-active,.shop-picker-item:hover{background:#0d6b6e14}.shop-picker-empty{padding:1rem;margin:0}.selected-shop,.gst-panel{background:#f7f4ee}.table-scroll{width:100%;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.table-scroll table.data{min-width:640px}.table-scroll thead th{position:sticky;top:0;z-index:1;background:var(--white);box-shadow:0 1px 0 var(--line)}.shops-table-scroll{max-height:420px}.shops-table-scroll table.data{min-width:0;width:100%}.shops-table th,.shops-table td{white-space:normal;vertical-align:top}.shops-table th:nth-child(1),.shops-table td:nth-child(1){width:7.5rem}.shops-table th:nth-child(2),.shops-table td:nth-child(2),.shops-table th:nth-child(3),.shops-table td:nth-child(3){white-space:nowrap;width:1%}.shops-table th:nth-child(4),.shops-table td:nth-child(4){min-width:9rem}.shops-table th:nth-child(5),.shops-table td:nth-child(5){min-width:8rem}table.data{width:100%;border-collapse:collapse;font-size:.9rem}table.data th,table.data td{text-align:left;padding:.55rem .45rem;border-bottom:1px solid var(--line);white-space:nowrap}table.data th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}.toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-bottom:1rem}.toolbar .field,.toolbar .select-field{margin-bottom:0}.toolbar-taluk{flex:0 1 14rem;min-width:12rem}.toolbar-search{flex:1 1 14rem;min-width:12rem}.reports-filters{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1rem}.reports-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem 1rem;align-items:start}.reports-filter-grid>.field,.reports-filter-grid>.select-field{margin-bottom:0;min-width:0;width:100%}.report-block{margin-top:1.25rem}.report-group{margin-bottom:1rem}.report-group .table-scroll{margin-top:.5rem}.btn-block{width:100%;justify-content:center}.login-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:1rem;background:radial-gradient(ellipse at 20% 20%,rgba(198,146,20,.15),transparent 50%),var(--paper)}.login-card{width:min(400px,100%);background:var(--white);border:1px solid var(--line);border-radius:12px;padding:1.5rem}.login-card h1{font-family:var(--font-display);margin:0 0 .35rem}.nav-backdrop{display:none}body.nav-locked{overflow:hidden}@media(max-width:1100px){.reports-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.app-topbar{display:flex;align-items:center;gap:.75rem;position:sticky;top:0;z-index:30;background:var(--ink);color:var(--white);padding:.75rem .9rem;padding-top:max(.75rem,env(safe-area-inset-top))}.app-topbar-brand{font-family:var(--font-display);font-weight:650;flex:1}.app-topbar-user{font-size:.8rem;opacity:.75;max-width:30vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-toggle{width:2.5rem;height:2.5rem;border:0;background:#ffffff14;border-radius:8px;display:grid;place-content:center;gap:.28rem;padding:0;cursor:pointer}.menu-toggle span{display:block;width:1.1rem;height:2px;background:#fff;border-radius:2px}.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:40;inset:0 auto 0 0;width:min(84vw,300px);transform:translate(-105%);transition:transform .22s ease;height:100dvh;padding-top:max(1.25rem,env(safe-area-inset-top))}.app-shell.menu-open .sidebar{transform:translate(0)}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;border:0;background:#1a233073}.main{padding:1rem .85rem 1.5rem}.grid-2,.grid-3,.reports-filter-grid{grid-template-columns:1fr}.toolbar .field,.toolbar .select-field{flex:1 1 100%}.landing-nav{padding:.9rem 1rem}.nav-links{gap:.5rem}.nav-links a{display:none}.lang-btn{padding:.45rem .75rem;font-size:.85rem}.hero{padding-inline:1rem}.brand-mark{max-width:none;font-size:clamp(1.9rem,8vw,2.8rem)}.section-inner{width:min(1120px,calc(100% - 1.5rem))}.hero-actions .btn,.btn{min-height:2.75rem}}
