:root{color:#3d312c;background:#eee7df;font-family:Arial,sans-serif}*{box-sizing:border-box}body{margin:0}.shell{min-height:100vh;padding:24px}.card{background:#fffdfa;border-radius:28px;max-width:620px;margin:auto;overflow:hidden;box-shadow:0 20px 60px #0001}header{text-align:center;background:#f9eee6;padding:36px 20px;position:relative}header h1{color:#775347;margin:8px;font-family:Georgia,serif;font-size:42px}.eyebrow{letter-spacing:2px;font-size:11px}.back{border:0;border-radius:99px;padding:8px;position:absolute;top:14px;left:14px}.content{padding:22px}.intro{background:#fff4eb;border-radius:14px;padding:15px}.grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid button{text-align:left;background:#fff;border:1px solid #eadfd7;border-radius:18px;min-height:120px;padding:18px}.grid b,.grid small{margin-top:8px;display:block}.grid small{color:#8c786f}label{margin:15px 0 7px;font-weight:700;display:block}input,textarea{border:1px solid #d9cbc2;border-radius:12px;width:100%;padding:13px}.upload{background:#fff5ed;border:2px dashed #d4b6a8;border-radius:16px;padding:25px}.upload input{margin-top:12px}.check{gap:8px;display:flex}.check input{width:auto}.primary{color:#fff;background:#80584a;border:0;border-radius:13px;width:100%;margin-top:16px;padding:14px;font-weight:700}.error{color:#842e20;background:#ffe8e2;border-radius:12px;margin:15px;padding:12px}.memories article{border:1px solid #eadfd7;border-radius:15px;margin:12px 0;padding:14px}.memories img,.memories video{object-fit:cover;border-radius:12px;width:100%;max-height:420px;margin-top:10px}.memories audio{width:100%;margin-top:10px}.center{text-align:center}@media (width<=520px){.shell{padding:0}.card{border-radius:0;min-height:100vh}.grid{grid-template-columns:1fr 1fr}}.camera-screen{background:#000;min-height:520px;position:relative;overflow:hidden}.camera-video{object-fit:cover;background:#000;width:100%;height:68vh;min-height:520px;max-height:720px;display:block}.camera-controls{z-index:5;justify-content:center;align-items:center;gap:24px;display:flex;position:absolute;bottom:24px;left:0;right:0}.shutter{color:#fff;background:#ffffff38;border:5px solid #ffffffe6;border-radius:50%;place-items:center;width:76px;height:76px;display:grid}.shutter svg{width:34px;height:34px}.video-start{background:#b73535}.video-stop{background:#8f2525}.camera-secondary{color:#fff;background:#0000007a;border:0;border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.recording-badge{color:#fff;background:#b73535;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;position:absolute;top:18px;right:18px}.preview-box{background:#111;border-radius:16px;margin:15px 0;overflow:hidden}.preview-media{object-fit:contain;width:100%;max-height:520px;display:block}.secondary-action{color:#fff;background:#b99a8d;border:0;border-radius:13px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:10px;padding:14px;font-weight:700;display:flex}.photo-counter{z-index:6;color:#fff;background:#000000a6;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700;position:absolute;top:18px;left:18px}.camera-finish{color:#5d443a;background:#fff;border:0;border-radius:999px;align-items:center;gap:7px;padding:13px 16px;font-weight:800;display:flex}.camera-finish:disabled{opacity:.45}.multi-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.preview-item{background:#111;border-radius:15px;min-height:130px;position:relative;overflow:hidden}.preview-item img,.preview-item video{object-fit:cover;width:100%;height:190px;display:block}.preview-item audio{width:100%;margin:40px 0}.remove-media{color:#fff;background:#000000a6;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:7px;right:7px}.remove-media svg{width:18px;height:18px}@media (width<=480px){.preview-item img,.preview-item video{height:150px}.camera-controls{flex-wrap:wrap;gap:12px;padding:0 8px}.camera-finish{padding:11px 13px;font-size:12px}}.camera-photo-strip{z-index:7;scrollbar-width:none;background:linear-gradient(#0000,#000000ad);gap:10px;padding:10px 14px;display:flex;position:absolute;bottom:118px;left:0;right:0;overflow-x:auto}.camera-photo-strip::-webkit-scrollbar{display:none}.camera-photo-card{background:#fffffff5;border-radius:13px;flex:0 0 112px;padding:6px;box-shadow:0 5px 15px #0003}.camera-thumb-wrap{background:#111;border-radius:9px;height:92px;position:relative;overflow:hidden}.camera-thumb-wrap img{object-fit:cover;width:100%;height:100%;display:block}.camera-remove-photo{color:#fff;background:#000000b3;border:0;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:5px;right:5px}.camera-remove-photo svg{width:15px;height:15px}.camera-photo-number{color:#fff;background:#000000ad;border-radius:999px;place-items:center;min-width:24px;height:24px;padding:0 6px;font-size:11px;font-weight:800;display:grid;position:absolute;bottom:5px;left:5px}.camera-photo-label{background:#fff;border:1px solid #dccbc1;border-radius:8px;width:100%;margin-top:6px;padding:7px 8px;font-size:11px}.preview-label{background:#fff;border:0;border-radius:9px;width:calc(100% - 12px);margin:6px;padding:9px 10px;font-size:12px;position:relative}.gallery-label{color:#80584a;background:#f4e4db;border-radius:999px;margin:7px 0 2px;padding:5px 9px;font-size:12px;font-weight:700;display:inline-block}@media (width<=480px){.camera-photo-strip{bottom:112px}.camera-photo-card{flex-basis:105px}.camera-thumb-wrap{height:85px}}.camera-page{background:#fffdfa}.camera-screen{background:#000;min-height:auto;position:relative}.camera-video{object-fit:cover;background:#000;width:100%;height:min(62vh,620px);min-height:420px;display:block}.camera-controls{bottom:22px}.captured-section{background:#fffdfa;border-top:1px solid #eadfd7;padding:18px 16px 26px}.captured-header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.captured-header h3{color:#4c3730;margin:0;font-size:22px}.captured-header p{color:#8a766d;margin:4px 0 0;font-size:13px}.finish-large{color:#fff;white-space:nowrap;background:#80584a;border:0;border-radius:14px;justify-content:center;align-items:center;gap:7px;padding:12px 15px;font-weight:800;display:flex}.finish-large:disabled{opacity:.42}.captured-empty{text-align:center;color:#927d73;background:#fff8f3;border:2px dashed #dccbc1;border-radius:16px;padding:28px 18px}.captured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.captured-card{background:#fff;border:1px solid #eadfd7;border-radius:17px;overflow:hidden;box-shadow:0 5px 16px #4632280f}.captured-image-wrap{aspect-ratio:4/3;background:#111;position:relative;overflow:hidden}.captured-image-wrap img{object-fit:cover;width:100%;height:100%;display:block}.captured-number{color:#fff;background:#000000ad;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800;position:absolute;bottom:9px;left:9px}.captured-remove{color:#fff;background:#000000b8;border:0;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:9px;right:9px}.captured-remove svg{width:20px;height:20px}.captured-info{padding:11px}.captured-info label{margin:0 0 6px;font-size:12px}.captured-info input{margin:0;padding:10px 11px;font-size:13px}@media (width<=480px){.camera-video{height:52vh;min-height:360px}.captured-section{padding:14px 12px 22px}.captured-header{align-items:flex-start}.captured-header h3{font-size:20px}.finish-large{padding:10px 12px;font-size:12px}.captured-grid{grid-template-columns:1fr;gap:13px}.captured-image-wrap{aspect-ratio:16/11}}.captured-header{z-index:8;background:#fffdfa;padding:8px 0 10px;position:sticky;top:0}.finish-large{min-width:140px}@media (width<=480px){.captured-header{position:static}.finish-large{min-width:128px}}.admin-login{background:#f3eee9;place-items:center;min-height:100vh;padding:20px;display:grid}.admin-login-card{background:#fff;border-radius:22px;width:min(100%,420px);padding:28px;box-shadow:0 20px 60px #0001}.admin-login-card h1{color:#65473d;margin:0}.admin-login-card p{color:#8e7a71}.admin-shell{color:#332a26;background:#f5f2ef;grid-template-columns:230px 1fr;min-height:100vh;display:grid}.admin-sidebar{color:#fff;background:#312722;flex-direction:column;gap:8px;padding:24px 16px;display:flex}.admin-sidebar h2{margin:0;padding:0 10px 20px}.admin-sidebar button{color:#dbcfc9;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:10px;padding:12px;display:flex}.admin-sidebar button.active,.admin-sidebar button:hover{color:#fff;background:#4b3a32}.admin-sidebar button:last-child{margin-top:auto}.admin-main{min-width:0;padding:30px}.admin-top{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.admin-top h1{margin:0;font-size:32px}.admin-top p{color:#85756d;margin:5px 0}.admin-primary{color:#fff;background:#80584a;border:0;border-radius:12px;align-items:center;gap:8px;padding:12px 16px;font-weight:700;display:inline-flex}.admin-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.admin-card{background:#fff;border:1px solid #e8dfda;border-radius:17px;padding:18px;box-shadow:0 5px 18px #00000008}.admin-card h3{margin:0 0 7px;font-size:19px}.admin-card p{color:#75665f;margin:8px 0}.admin-card a{color:#80584a;align-items:center;gap:6px;margin-top:12px;font-weight:700;text-decoration:none;display:inline-flex}.admin-card-head{justify-content:space-between;align-items:flex-start;display:flex}.admin-card-head button{background:#f3ebe6;border:0;border-radius:10px;padding:8px}.status{background:#eee;border-radius:999px;padding:4px 8px;font-size:11px}.status.active{color:#246d3c;background:#e0f3e6}.status.finished{color:#4f4f8d;background:#e8e8f8}.status.cancelled,.status.inactive{color:#9b4237;background:#f8e2df}.status.draft{color:#8b6518;background:#fff0cd}.modal-backdrop{z-index:999;background:#0007;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border-radius:18px;width:min(100%,560px);max-height:90vh;padding:22px;overflow:auto}.modal-card h2{margin-top:0}.modal-card select{background:#fff;border:1px solid #d9cbc2;border-radius:12px;width:100%;padding:13px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.modal-actions>button:first-child{background:#eee5df;border:0;border-radius:11px;padding:12px 16px}@media (width<=760px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{flex-direction:row;padding:10px;overflow-x:auto}.admin-sidebar h2{display:none}.admin-sidebar button:last-child{margin-top:0;margin-left:auto}.admin-main{padding:18px}.admin-top{align-items:flex-start}.admin-top h1{font-size:27px}}
