@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#253d32;background:#f6f7f2;font-size:18px;--green:#224c3b;--muted:#758078;--line:#e0e5dc;--gold:#d9a84a}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;background:white;color:var(--green);padding:12px 17px;font-weight:600;min-height:48px}button:hover{background:#eaf0e7}button.primary{background:var(--green);color:white;border-color:var(--green)}button.primary:hover{background:#31664e}button.danger{color:#a33327}a{color:var(--green)}h1,h2,h3,.value{font-family:Manrope,Arial,sans-serif}h1{font-size:32px;letter-spacing:-1.2px;margin:8px 0}h2{font-size:22px;margin:0 0 14px}h3{font-size:18px}p{line-height:1.6}.muted{color:#657268}.small{font-size:14px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:800;color:#70816e}.shell{display:grid;grid-template-columns:246px 1fr;min-height:100vh}.sidebar{background:#fcfdf9;border-right:1px solid var(--line);padding:33px 21px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 9px 35px;font-weight:800;font-size:21px;letter-spacing:-.7px}.brand-mark{display:grid;place-items:center;width:40px;height:44px;background:var(--green);color:#e4c579;border-radius:12px;font-size:27px}.sidebar nav{display:grid;gap:6px}.nav{border:0;background:transparent;text-align:left;font-size:16px;display:flex;gap:13px;align-items:center;padding:14px}.nav.active{background:#e8eee2;color:#224c3b}.nav-icon{width:22px;font-size:21px}.sidebar footer{margin-top:auto;border-top:1px solid var(--line);padding:20px 9px 0}.main{min-width:0}.topbar{padding:20px 42px;background:#fcfdf9;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:14px}.connection{display:flex;align-items:center;gap:8px}.dot{height:8px;width:8px;background:#739b51;border-radius:100%}.content{padding:30px 42px 44px;max-width:1550px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.heading p{margin:7px 0 0;font-size:16px}.controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}select,input,textarea{border:1px solid #cdd6c9;border-radius:8px;background:white;color:#253d32;min-height:48px;padding:11px 13px;max-width:100%}select{cursor:pointer}.hero{background:#224c3b;color:#fff;border-radius:15px;padding:29px 32px;display:flex;justify-content:space-between;position:relative;overflow:hidden;margin-bottom:23px}.hero h2{font-size:26px;margin:8px 0}.hero p{color:#d2dfcf;margin:8px 0 0;max-width:550px;font-size:16px}.hero .eyebrow{color:#c3d49f}.hero-art{align-self:center;font-size:92px;line-height:1;color:#c6cf87;transform:rotate(-12deg);padding:0 28px}.badge{display:inline-block;border-radius:30px;padding:6px 10px;background:#eef2e7;color:#4c6537;font-size:12px;font-weight:700;white-space:nowrap}.hero .badge{background:#3b614d;color:#e0e7c7}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:23px;min-width:0}.stat-label{font-size:14px;color:#657268;display:flex;justify-content:space-between;gap:6px}.value{font-size:29px;font-weight:800;letter-spacing:-1px;margin:15px 0 8px}.stat-foot{font-size:13px;color:#657268}.stat-icon{background:#f2f4ec;border-radius:8px;padding:6px 8px;color:#6d855d}.accent{background:#eef2e6}.negative{color:#a43c30}.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;margin-bottom:22px}.cardhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.cardhead h2{font-size:18px;margin:0}.linkbtn{border:0;background:none;font-size:13px;padding:7px;min-height:36px}.bars{display:grid;gap:19px}.barrow{display:grid;grid-template-columns:155px 1fr 95px;align-items:center;gap:14px;font-size:13px}.track{height:10px;background:#edf0e8;border-radius:10px;overflow:hidden}.fill{height:100%;background:#789769;border-radius:10px}.barrow:nth-child(2n) .fill{background:#bdc994}.barrow strong{text-align:right}.row{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid #eef0e9}.row:last-child{border:0}.row strong{font-size:15px}.row p{font-size:13px;margin:4px 0 0;color:#657268}.datebox{background:#f2f4ec;border-radius:8px;padding:9px 12px;text-align:center;min-width:52px;font-size:17px;font-weight:700}.datebox small{display:block;font-size:10px;text-transform:uppercase}.taskrow{display:flex;gap:13px;align-items:center}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:15px;white-space:nowrap}th{text-align:left;font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:#71806e;background:#f6f8f2;padding:14px}td{padding:16px 14px;border-bottom:1px solid #e9ede4}td.money,th.money{text-align:right;font-variant-numeric:tabular-nums}.empty{text-align:center;color:#657268;padding:32px;line-height:1.7}.notice{background:#fff8df;border:1px solid #ecdfac;border-radius:9px;padding:12px 17px;margin-bottom:22px;font-size:14px}.notice button{padding:2px 8px;min-height:30px;font-size:13px}.actions{display:flex;gap:8px}.actions button{padding:7px 10px;min-height:38px;font-size:13px}.lotgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.lot-icon{font-size:35px;color:#7b935a}.lotarea{font-size:30px;font-weight:700}.filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.filters label{font-size:13px;display:grid;gap:5px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#e0e5dc;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:22px}.calhead,.day{background:white;padding:10px;min-width:0}.calhead{text-align:center;font-size:12px;background:#edf1e7}.day{min-height:105px;font-size:14px}.day.today{background:#f3f5e6}.day button{display:block;font-size:11px;white-space:normal;text-align:left;min-height:0;padding:5px;margin-top:5px;width:100%;border:0;background:#e5eddf}.day button.done{text-decoration:line-through;color:#617058}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px;font-size:15px;font-weight:600}.field.wide{grid-column:1/-1}.field small{font-weight:400;color:#657268}textarea{min-height:80px;resize:vertical}.formfoot{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.error{color:#a33327;white-space:pre-wrap;font-size:15px;margin-top:15px}dialog{border:1px solid var(--line);border-radius:16px;padding:28px;width:620px;max-width:94vw;max-height:90vh;box-shadow:0 20px 100px #122d3240}dialog::backdrop{background:#172f296b}dialog h2{margin-bottom:23px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#224c3b;color:white;padding:14px 22px;border-radius:10px;z-index:20;display:none}.auth{max-width:490px;margin:8vh auto;padding:20px}.auth .card{padding:30px}.auth .field{margin:17px 0}.auth button{width:100%;margin-top:10px}.settingsgrid{display:grid;gap:20px;max-width:800px}.settingbuttons{display:flex;gap:12px;flex-wrap:wrap}button:disabled{opacity:.55;cursor:wait}.printhead{display:none}.budgetline{display:flex;justify-content:space-between;margin:20px 0 12px;font-size:14px}.help{font-size:14px;line-height:1.8;color:#5e6e61}.mobilebrand{display:none}@media(min-width:1600px){.content{padding-top:40px}.stats .value{font-size:36px}}@media(max-width:1100px){.shell{grid-template-columns:210px 1fr}.sidebar{padding:25px 12px}.content{padding:25px}.topbar{padding:17px 25px}.stats{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.lotgrid{grid-template-columns:repeat(2,1fr)}.hero-art{display:none}}@media(max-width:700px){:root{font-size:17px}.shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:12px}.brand,.sidebar footer{display:none}.sidebar nav{display:flex;overflow:auto;gap:4px}.nav{white-space:nowrap;padding:11px;font-size:14px}.nav-icon{display:none}.topbar{padding:14px 18px;flex-wrap:wrap}.mobilebrand{display:block;font-weight:700}.content{padding:23px 16px}.heading{align-items:flex-start;flex-direction:column;gap:15px}h1{font-size:28px}.hero{padding:24px}.hero h2{font-size:23px}.stats{gap:10px}.card{padding:17px}.value{font-size:25px}.stat-icon{display:none}.lotgrid{grid-template-columns:1fr}.barrow{grid-template-columns:115px 1fr 80px;gap:7px}.formgrid{grid-template-columns:1fr}.field.wide{grid-column:auto}.day{padding:4px;min-height:80px}.day button{font-size:9px;padding:3px}.calhead{padding:8px 0}.grid2{gap:15px}dialog{padding:23px}.topbar .small{font-size:12px}}@media print{body{background:white}.sidebar,.topbar,.heading .controls,.filters,button,.notice{display:none!important}.shell{display:block}.content{padding:0}.card{break-inside:avoid;box-shadow:none}.printhead{display:block}.tablewrap{overflow:visible}table{white-space:normal}.grid2{display:block}.card{margin-bottom:20px}.stats{grid-template-columns:repeat(4,1fr)}.value{font-size:22px}h1{font-size:26px}}

.auth .brand{display:flex}

/* iPhone and touch layout. Desktop tables and printed reports retain their layout. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,select,a{touch-action:manipulation}
.mobile-menu,.mobile-agenda{display:none}
.value,.brand,.row strong{overflow-wrap:anywhere}
.field{min-width:0}
input,select,textarea{min-width:0}
:focus-visible{outline:3px solid #b67c10;outline-offset:3px}
@media (pointer:coarse){button,.actions button,.linkbtn,.notice button{min-height:48px;min-width:48px}.day button{min-height:44px;font-size:14px}}
@media screen and (max-width:700px){
 :root{font-size:18px}
 body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
 .sidebar{padding:calc(12px + env(safe-area-inset-top)) 16px 12px;border-right:0;border-bottom:1px solid var(--line)}
 .sidebar nav{display:none}
 .mobile-menu{display:flex;align-items:center;gap:12px}
 .mobile-menu label{font-size:16px;font-weight:700;white-space:nowrap}
 .mobile-menu select{flex:1;width:0;font-size:18px;font-weight:600;min-height:52px}
 .topbar{gap:8px;padding:12px 16px}
 .topbar>span{overflow-wrap:anywhere;max-width:100%}
 .connection{flex-wrap:wrap;font-size:14px}
 .content{padding-bottom:calc(28px + env(safe-area-inset-bottom))}
 .stats{grid-template-columns:minmax(0,1fr);gap:12px}
 .stat-label{font-size:17px}.stat-foot{font-size:15px;line-height:1.5}
 .value{font-size:32px;letter-spacing:-.6px}
 .card{padding:18px}.cardhead{align-items:stretch;flex-direction:column;gap:14px}
 .cardhead h2{font-size:21px}.cardhead>.primary{width:100%}
 .controls{width:100%;gap:12px}.heading>.controls{display:grid;grid-template-columns:minmax(0,1fr)}
 .controls>select,.controls>button,.settingbuttons>button{flex:1 1 100%;width:100%}
 .controls>input[type=month]{flex:1;min-width:0;width:0}
 .controls>#prevmonth,.controls>#nextmonth{flex:0 0 48px;width:48px;padding:8px}
 button,.actions button,.linkbtn,.notice button{font-size:17px;min-height:48px}
 input,select,textarea{font-size:18px;min-height:52px;width:100%}
 .field{font-size:17px}.field small{font-size:15px;line-height:1.5}
 .formgrid{gap:20px}.hero{padding:22px}.hero p{font-size:17px}
 .help,.small,.row p{font-size:16px}.notice{font-size:16px;line-height:1.6}
 .row{flex-wrap:wrap}.row strong{font-size:17px}.taskrow{min-width:0;flex:1 1 180px}
 .barrow{grid-template-columns:minmax(0,1fr) auto;font-size:16px;gap:8px}
 .barrow .track{grid-row:2;grid-column:1/-1}.barrow strong{grid-column:2;grid-row:1;overflow-wrap:anywhere}
 .budgetline{flex-wrap:wrap;gap:10px;font-size:16px}
 .tablewrap{overflow:visible}
 table,tbody{display:block;width:100%;white-space:normal;font-size:17px}
 thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 tbody>tr{display:block;border:1px solid var(--line);border-radius:10px;padding:6px 14px;margin-bottom:16px;background:#fff}
 td,td.money{display:block;text-align:left;padding:11px 0;border-bottom:1px solid #edf0e8;overflow-wrap:anywhere}
 td::before{content:attr(data-label);display:block;font-size:14px;font-weight:700;color:#5e6e61;margin-bottom:5px;letter-spacing:.2px}
 td:last-child{border-bottom:0}.actions{gap:12px;flex-wrap:wrap}.actions button{flex:1;padding:12px}
 .calendar{display:none}.mobile-agenda{display:block;margin:0 0 20px}
 dialog{width:calc(100% - 20px);max-width:600px;max-height:88vh;max-height:88dvh;padding:22px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 dialog h2{font-size:24px}.formfoot{position:sticky;bottom:-22px;background:white;padding:16px 0 calc(16px + env(safe-area-inset-bottom));margin-top:20px;border-top:1px solid var(--line);z-index:1}
 .formfoot button{flex:1;padding:12px 8px}
 #toast{width:calc(100% - 32px);max-width:520px;text-align:center;bottom:calc(18px + env(safe-area-inset-bottom));font-size:17px;line-height:1.5;overflow-wrap:anywhere}
 .auth{margin:20px auto;padding-top:calc(20px + env(safe-area-inset-top))}.auth .card{padding:23px}
}
@media print{.mobile-menu,.mobile-agenda{display:none!important}}

.checkboxfield input[type=checkbox]{width:26px;height:26px;min-height:26px;vertical-align:middle;margin-right:10px;accent-color:var(--green)}
input[readonly]{background:#f2f4ec}

/* Account access: no marketing landing page. */
.auth{margin:5vh auto;max-width:510px}.auth-signup{max-width:800px}
.auth .brand{padding:0 0 24px}.auth h1{font-size:30px}.auth .card>p{margin-top:8px}
.auth fieldset{border:0;padding:20px 0;margin:12px 0 0;border-top:1px solid var(--line);min-width:0}
.auth legend{font-weight:700;font-size:19px;padding:0 12px 0 0}
.auth .formgrid{gap:16px}.auth .formgrid .field{margin:0}.auth input,.auth select{width:100%}
.auth-subheading{font-size:16px;margin:24px 0 16px}.auth .auth-check{display:flex;align-items:center;gap:10px;font-size:15px;margin:20px 0}
.auth-check input{width:22px;min-height:22px;height:22px;accent-color:var(--green)}
.auth-switch{text-align:center;font-size:15px;margin-bottom:0}.auth .auth-switch button{width:auto;margin:0;padding:8px;font-size:15px;text-decoration:underline}
.auth [hidden]{display:none!important}.auth #captcha{min-width:0}.auth #captcha-status:empty{display:none}.auth .error:empty{margin:0}
@media(max-width:700px){.auth{margin:12px auto;padding:16px}.auth .card{padding:22px 18px}.auth .formgrid{grid-template-columns:1fr}.auth h1{font-size:27px}}

/* BukidGo brand lockup retains its transparent background and proportions. */
.brand-logo{display:block;width:100%;height:auto;object-fit:contain}
.sidebar .brand{padding:0 0 28px}
.sidebar .brand-logo{max-width:204px}
.auth .brand{justify-content:center}
.auth .brand-logo{width:280px;max-width:100%}
.mobilebrand .brand-logo{width:145px;margin-bottom:8px}

/* Soft terraced-field background for login and account creation. */
body:has(.auth){
 min-height:100vh;
 background-color:#edf4e5;
 background-image:
  radial-gradient(ellipse 75% 48% at -12% 110%,#315f43 0 49%,transparent 49.3%),
  radial-gradient(ellipse 85% 55% at 110% 118%,#527c48 0 49%,transparent 49.3%),
  radial-gradient(ellipse 90% 55% at -15% 114%,#8eac68 0 59%,transparent 59.3%),
  radial-gradient(ellipse 95% 60% at 115% 124%,#b0c784 0 64%,transparent 64.3%),
  radial-gradient(circle at 82% 16%,#f9efc5 0,transparent 32%),
  linear-gradient(150deg,#e3eedb 0%,#f5f8ee 48%,#d9e7cd 100%);
 background-attachment:fixed;
 background-repeat:no-repeat;
}
.auth .card{background:#fffffff5;border-color:#d5e1ce;box-shadow:0 18px 55px #25472c16}
.auth .brand{position:relative}
@media(max-width:700px){
 body:has(.auth){background-image:
  radial-gradient(ellipse 150% 36% at -25% 114%,#799c5f 0 60%,transparent 60.4%),
  radial-gradient(circle at 100% 0,#f9efc5 0,transparent 42%),
  linear-gradient(155deg,#e3eedb,#f5f8ee 55%,#d9e7cd)}
}
@media print{body:has(.auth){background:white}.auth .card{box-shadow:none}}

/* Collapsible navigation and phone layout. */
.shell.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}
#farm-sidebar[hidden],#sidebar-shade[hidden]{display:none!important}
.sidebar-bookmark{position:fixed;left:0;top:12px;z-index:42;border-radius:0 12px 12px 0;background:var(--green);color:white;box-shadow:0 3px 12px #122d3220;min-height:48px;padding:10px 16px}
.sidebar-bookmark:hover{background:#31664e}.sidebar-close{margin:0 0 18px;align-self:flex-end;font-size:14px}
.sidebar{padding-top:76px;overflow-y:auto}.sidebar nav{display:grid}.sidebar .nav{white-space:normal;line-height:1.45;text-align:left}
.sidebar .brand{display:flex;padding-bottom:24px}.sidebar .brand-logo{max-width:100%;height:auto}
.sidebar-shade{display:none}.topbar{padding-left:96px;min-height:80px}.mobilebrand{display:block;margin-bottom:8px}.topbar .brand-logo{width:132px;max-width:100%;height:auto}
.main,.content,#view{min-width:0}.sidebar .mobile-menu{display:none}
@media(max-width:900px){
 .shell,.shell.sidebar-collapsed{display:block}
 .sidebar{position:fixed;inset:0 auto 0 0;width:min(310px,85vw);height:100dvh;background:#fcfdf9;z-index:41;padding:76px 20px 28px;box-shadow:8px 0 30px #122d3225}
 .sidebar nav{display:grid;overflow:visible;gap:6px}.sidebar footer{display:block;padding-top:22px}.sidebar .nav{font-size:17px;min-height:50px}.sidebar .mobile-menu{display:none}
 .sidebar-shade{display:block;position:fixed;inset:0;width:100%;height:100dvh;border:0;border-radius:0;background:#122d3270;z-index:40;padding:0}.sidebar-shade:hover{background:#122d3270}
 .topbar{padding:14px 16px 14px 94px;align-items:flex-start;flex-wrap:wrap}.connection{flex-wrap:wrap}
 .grid2,.lotgrid{grid-template-columns:minmax(0,1fr)}.heading{flex-wrap:wrap}
}
@media(max-width:480px){
 .content{padding:22px 12px}.hero{padding:20px}.hero h2{font-size:22px;line-height:1.4}
 .topbar{font-size:13px}.connection{font-size:12px}.topbar .brand-logo{width:120px}
 .stats .value{font-size:clamp(25px,8vw,32px)}.barrow{grid-template-columns:minmax(0,1fr)}.barrow strong{grid-column:1;grid-row:auto;text-align:left}.barrow .track{grid-row:auto}
 .settingbuttons{display:grid;width:100%;grid-template-columns:minmax(0,1fr)}.settingbuttons>*{max-width:100%}
 .auth-check input{flex:0 0 22px}.formfoot{flex-wrap:wrap}.notice{overflow-wrap:anywhere}
}
@media print{.sidebar-bookmark,.sidebar-shade,.sidebar-close{display:none!important}.shell.sidebar-collapsed{display:block}}

.topbar{display:grid;grid-template-columns:minmax(140px,1fr) minmax(200px,1.3fr) auto;gap:24px;align-items:center}
.owner-block{display:grid;gap:6px}.owner-block>strong{font-size:20px;overflow-wrap:anywhere}.header-weather{min-width:0;display:grid;gap:6px;font-size:14px}.header-weather label{font-weight:700}.header-weather select{width:100%;min-height:44px}.header-weather small{display:block;line-height:1.5}.header-weather a{font-size:12px}.weather-refresh{justify-self:start;padding:4px 10px;min-height:32px;font-size:13px}.header-clock{display:grid;gap:5px;text-align:right}.header-clock strong{font-size:28px;white-space:nowrap}.header-clock>span{font-size:18px}.header-clock small{font-size:12px;color:var(--muted)}
.lot-location [hidden]{display:none!important}.lot-location .auth-check{display:flex;gap:10px;align-items:center}.lot-location input[type=checkbox]{width:22px;height:22px;min-height:22px;flex:0 0 22px}.lot-location #lot-map{height:280px;width:100%;border-radius:10px;margin-top:12px;z-index:0}.lot-location .leaflet-control a{font-size:12px}.lot-location .leaflet-container{font:12px Arial,sans-serif}.lot-location .leaflet-control-zoom a{font-size:22px}.lot-location button{margin-top:12px}
@media(max-width:1100px){.topbar{grid-template-columns:minmax(0,1fr) auto}.header-weather{grid-column:1/-1;grid-row:2}.header-clock strong{font-size:24px}}
@media(max-width:480px){.topbar{padding-left:94px;gap:16px;grid-template-columns:minmax(0,1fr)}.header-clock{grid-row:2;text-align:left}.header-weather{grid-row:3}.header-clock strong{font-size:28px}.header-clock>span{font-size:17px}.header-weather select{font-size:16px}.owner-block>strong{font-size:19px}}
